{"id":"https://openalex.org/W2563844719","doi":"https://doi.org/10.1109/tpds.2016.2645222","title":"Parallelizing Exact and Approximate String Matching via Inclusive Scan on a GPU","display_name":"Parallelizing Exact and Approximate String Matching via Inclusive Scan on a GPU","publication_year":2016,"publication_date":"2016-12-26","ids":{"openalex":"https://openalex.org/W2563844719","doi":"https://doi.org/10.1109/tpds.2016.2645222","mag":"2563844719"},"language":"en","primary_location":{"id":"doi:10.1109/tpds.2016.2645222","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tpds.2016.2645222","pdf_url":null,"source":{"id":"https://openalex.org/S97130795","display_name":"IEEE Transactions on Parallel and Distributed Systems","issn_l":"1045-9219","issn":["1045-9219","1558-2183","2161-9883"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Parallel and Distributed Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5011138987","display_name":"Mitani Yasuaki","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Yasuaki Mitani","raw_affiliation_strings":["Development Head Office, DWANGO Corporation, Ltd., Tokyo, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Development Head Office, DWANGO Corporation, Ltd., Tokyo, Japan","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090008684","display_name":"Fumihiko Ino","orcid":"https://orcid.org/0000-0002-5757-7631"},"institutions":[{"id":"https://openalex.org/I98285908","display_name":"The University of Osaka","ror":"https://ror.org/035t8zc32","country_code":"JP","type":"education","lineage":["https://openalex.org/I98285908"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Fumihiko Ino","raw_affiliation_strings":["Graduate School of Information Science and Technology, Osaka University, Osaka, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Graduate School of Information Science and Technology, Osaka University, Osaka, Japan","institution_ids":["https://openalex.org/I98285908"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5111729293","display_name":"Kenichi Hagihara","orcid":null},"institutions":[{"id":"https://openalex.org/I98285908","display_name":"The University of Osaka","ror":"https://ror.org/035t8zc32","country_code":"JP","type":"education","lineage":["https://openalex.org/I98285908"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Kenichi Hagihara","raw_affiliation_strings":["Graduate School of Information Science and Technology, Osaka University, Osaka, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Graduate School of Information Science and Technology, Osaka University, Osaka, Japan","institution_ids":["https://openalex.org/I98285908"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":5.1972,"has_fulltext":false,"cited_by_count":29,"citation_normalized_percentile":{"value":0.95875881,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"28","issue":"7","first_page":"1989","last_page":"2002"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9807000160217285,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.9052741527557373},{"id":"https://openalex.org/keywords/string-searching-algorithm","display_name":"String searching algorithm","score":0.7221356630325317},{"id":"https://openalex.org/keywords/approximate-string-matching","display_name":"Approximate string matching","score":0.7197421789169312},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7137140035629272},{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.6311441659927368},{"id":"https://openalex.org/keywords/graphics-processing-unit","display_name":"Graphics processing unit","score":0.5603532195091248},{"id":"https://openalex.org/keywords/general-purpose-computing-on-graphics-processing-units","display_name":"General-purpose computing on graphics processing units","score":0.54732346534729},{"id":"https://openalex.org/keywords/throughput","display_name":"Throughput","score":0.48507633805274963},{"id":"https://openalex.org/keywords/search-engine-indexing","display_name":"Search engine indexing","score":0.4850117862224579},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.45221012830734253},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.4473895728588104},{"id":"https://openalex.org/keywords/high-memory","display_name":"High memory","score":0.4363696575164795},{"id":"https://openalex.org/keywords/memory-bandwidth","display_name":"Memory bandwidth","score":0.42399364709854126},{"id":"https://openalex.org/keywords/string","display_name":"String (physics)","score":0.41704797744750977},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.4162779450416565},{"id":"https://openalex.org/keywords/scheme","display_name":"Scheme (mathematics)","score":0.4111679196357727},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.39309969544410706},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.18108832836151123},{"id":"https://openalex.org/keywords/computer-graphics","display_name":"Computer graphics (images)","score":0.10543933510780334}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9052741527557373},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.7221356630325317},{"id":"https://openalex.org/C32610155","wikidata":"https://www.wikidata.org/wiki/Q1798621","display_name":"Approximate string matching","level":3,"score":0.7197421789169312},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7137140035629272},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.6311441659927368},{"id":"https://openalex.org/C2779851693","wikidata":"https://www.wikidata.org/wiki/Q183484","display_name":"Graphics processing unit","level":2,"score":0.5603532195091248},{"id":"https://openalex.org/C50630238","wikidata":"https://www.wikidata.org/wiki/Q971505","display_name":"General-purpose computing on graphics processing units","level":3,"score":0.54732346534729},{"id":"https://openalex.org/C157764524","wikidata":"https://www.wikidata.org/wiki/Q1383412","display_name":"Throughput","level":3,"score":0.48507633805274963},{"id":"https://openalex.org/C75165309","wikidata":"https://www.wikidata.org/wiki/Q2258979","display_name":"Search engine indexing","level":2,"score":0.4850117862224579},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.45221012830734253},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.4473895728588104},{"id":"https://openalex.org/C2781357197","wikidata":"https://www.wikidata.org/wiki/Q5757597","display_name":"High memory","level":2,"score":0.4363696575164795},{"id":"https://openalex.org/C188045654","wikidata":"https://www.wikidata.org/wiki/Q17148339","display_name":"Memory bandwidth","level":2,"score":0.42399364709854126},{"id":"https://openalex.org/C157486923","wikidata":"https://www.wikidata.org/wiki/Q1376436","display_name":"String (physics)","level":2,"score":0.41704797744750977},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.4162779450416565},{"id":"https://openalex.org/C77618280","wikidata":"https://www.wikidata.org/wiki/Q1155772","display_name":"Scheme (mathematics)","level":2,"score":0.4111679196357727},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.39309969544410706},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.18108832836151123},{"id":"https://openalex.org/C121684516","wikidata":"https://www.wikidata.org/wiki/Q7600677","display_name":"Computer graphics (images)","level":1,"score":0.10543933510780334},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C555944384","wikidata":"https://www.wikidata.org/wiki/Q249","display_name":"Wireless","level":2,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/tpds.2016.2645222","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tpds.2016.2645222","pdf_url":null,"source":{"id":"https://openalex.org/S97130795","display_name":"IEEE Transactions on Parallel and Distributed Systems","issn_l":"1045-9219","issn":["1045-9219","1558-2183","2161-9883"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Parallel and Distributed Systems","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2766366151","display_name":"Overcoming Tribrid Programming with Latency Hiding Oriented Description Model","funder_award_id":"15K12008","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G6667970600","display_name":"Study on high-speed simulation of irregular and complex objects represented by large-scale graph","funder_award_id":"15H01687","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G7381225343","display_name":"Creating a Massively Parallel and Distributed Computation Framework by Exploiting Short Idle Periods","funder_award_id":"16H02801","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"}],"funders":[{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":42,"referenced_works":["https://openalex.org/W34348666","https://openalex.org/W1534435001","https://openalex.org/W1595783387","https://openalex.org/W1967810725","https://openalex.org/W1981409766","https://openalex.org/W1982314207","https://openalex.org/W1983788629","https://openalex.org/W1985108724","https://openalex.org/W1987664427","https://openalex.org/W1991456641","https://openalex.org/W2001496424","https://openalex.org/W2006595279","https://openalex.org/W2045821558","https://openalex.org/W2065920469","https://openalex.org/W2070865675","https://openalex.org/W2074373096","https://openalex.org/W2084546207","https://openalex.org/W2087064593","https://openalex.org/W2087977509","https://openalex.org/W2094269606","https://openalex.org/W2095680943","https://openalex.org/W2099964107","https://openalex.org/W2100751585","https://openalex.org/W2116052408","https://openalex.org/W2118874283","https://openalex.org/W2119547137","https://openalex.org/W2126367944","https://openalex.org/W2139523073","https://openalex.org/W2139747296","https://openalex.org/W2150210843","https://openalex.org/W2150871235","https://openalex.org/W2161061943","https://openalex.org/W2168459716","https://openalex.org/W2170551349","https://openalex.org/W2255167229","https://openalex.org/W2510117620","https://openalex.org/W4394666350","https://openalex.org/W6635487903","https://openalex.org/W6674561012","https://openalex.org/W6678107477","https://openalex.org/W6683923952","https://openalex.org/W6691878264"],"related_works":["https://openalex.org/W2371263218","https://openalex.org/W2257399947","https://openalex.org/W3145288231","https://openalex.org/W2386746909","https://openalex.org/W2502807948","https://openalex.org/W2037600093","https://openalex.org/W2141423589","https://openalex.org/W2378689532","https://openalex.org/W2178786736","https://openalex.org/W1651353716"],"abstract_inverted_index":{"In":[0],"this":[1,58],"study,":[2],"to":[3,35,47,126,177],"substantially":[4],"improve":[5],"the":[6,26,100,109,112,118,131,202],"runtimes":[7,203],"of":[8,102,111,175,204,208],"exact":[9],"and":[10,28,94,138,153],"approximate":[11],"string":[12,159,206],"matching":[13,207],"algorithms,":[14],"we":[15,56,88,116,144],"propose":[16],"a":[17,51,74,97,122,172,184],"tribrid":[18],"parallel":[19],"method":[20,148,163,196],"for":[21,108,200],"bit-parallel":[22,37,45],"algorithms":[23,38,46],"such":[24],"as":[25,39],"Shift-Or":[27],"Wu-Manber":[29],"algorithms.":[30],"Our":[31],"underlying":[32],"idea":[33],"is":[34,106,197],"interpret":[36],"inclusive-scan":[40,62,113,119],"operations,":[41],"which":[42,105],"allow":[43],"these":[44,103],"run":[48],"efficiently":[49],"on":[50,183],"graphics":[52],"processing":[53],"unit":[54],"(GPU);":[55],"achieve":[57],"speed-up":[59],"here":[60],"because":[61],"operations":[63],"not":[64],"only":[65],"eliminate":[66],"duplicate":[67,139],"searches":[68],"between":[69,135],"threads":[70],"but":[71],"also":[72],"realize":[73,85],"GPU-friendly":[75],"memory":[76,81],"access":[77],"pattern":[78],"that":[79,193],"maximizes":[80],"read/write":[82],"throughput.":[83],"To":[84],"our":[86,142,146,161,194],"ideas,":[87],"first":[89],"define":[90],"two":[91],"binary":[92],"operators":[93],"then":[95],"present":[96],"proof":[98],"regarding":[99],"associativity":[101],"operators,":[104],"necessary":[107],"parallelization":[110],"operations.":[114],"Finally,":[115],"integrate":[117],"scheme":[120,125],"into":[121],"previous":[123,150,169],"segmentation-based":[124,151],"maximize":[127],"search":[128,173],"throughput,":[129],"identifying":[130],"best":[132],"tradeoff":[133],"point":[134],"synchronization":[136],"cost":[137],"work.":[140],"Through":[141],"experiments,":[143],"compared":[145],"proposed":[147,162,195],"with":[149],"methods":[152],"indexing-based":[154],"sequence":[155],"aligners.":[156],"For":[157],"online":[158,205],"matching,":[160],"performed":[164],"6.7-16.7":[165],"times":[166],"faster":[167],"than":[168],"methods,":[170],"achieving":[171],"throughput":[174],"up":[176],"1.88":[178],"terabits":[179],"per":[180],"second":[181],"(Tbps)":[182],"GeForce":[185],"GTX":[186],"TITAN":[187],"X":[188],"GPU.":[189],"We":[190],"therefore":[191],"conclude":[192],"quite":[198],"effective":[199],"decreasing":[201],"short":[209],"patterns.":[210]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":6},{"year":2017,"cited_by_count":3}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
