{"id":"https://openalex.org/W2082554739","doi":"https://doi.org/10.1145/2259016.2259027","title":"Scan detection and parallelization in \"inherently sequential\" nested loop programs","display_name":"Scan detection and parallelization in \"inherently sequential\" nested loop programs","publication_year":2012,"publication_date":"2012-03-31","ids":{"openalex":"https://openalex.org/W2082554739","doi":"https://doi.org/10.1145/2259016.2259027","mag":"2082554739"},"language":"en","primary_location":{"id":"doi:10.1145/2259016.2259027","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2259016.2259027","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Tenth International Symposium on Code Generation and Optimization","raw_type":"proceedings-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/A5058138487","display_name":"Yun Zou","orcid":"https://orcid.org/0000-0001-8408-4114"},"institutions":[{"id":"https://openalex.org/I92446798","display_name":"Colorado State University","ror":"https://ror.org/03k1gpj17","country_code":"US","type":"education","lineage":["https://openalex.org/I92446798"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Yun Zou","raw_affiliation_strings":["Colorado State University","COLORADO STATE UNIVERSITY"],"affiliations":[{"raw_affiliation_string":"Colorado State University","institution_ids":["https://openalex.org/I92446798"]},{"raw_affiliation_string":"COLORADO STATE UNIVERSITY","institution_ids":["https://openalex.org/I92446798"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5047953886","display_name":"Sanjay Rajopadhye","orcid":"https://orcid.org/0000-0002-4246-6066"},"institutions":[{"id":"https://openalex.org/I92446798","display_name":"Colorado State University","ror":"https://ror.org/03k1gpj17","country_code":"US","type":"education","lineage":["https://openalex.org/I92446798"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sanjay Rajopadhye","raw_affiliation_strings":["Colorado State University","COLORADO STATE UNIVERSITY"],"affiliations":[{"raw_affiliation_string":"Colorado State University","institution_ids":["https://openalex.org/I92446798"]},{"raw_affiliation_string":"COLORADO STATE UNIVERSITY","institution_ids":["https://openalex.org/I92446798"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5058138487"],"corresponding_institution_ids":["https://openalex.org/I92446798"],"apc_list":null,"apc_paid":null,"fwci":1.1602,"has_fulltext":false,"cited_by_count":9,"citation_normalized_percentile":{"value":0.78667791,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"74","last_page":"83"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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/T10126","display_name":"Logic, programming, and type systems","score":0.995199978351593,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9932000041007996,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.8880069255828857},{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.8814165592193604},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8407447338104248},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7609117031097412},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.7125309705734253},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.5900324583053589},{"id":"https://openalex.org/keywords/automatic-parallelization","display_name":"Automatic parallelization","score":0.5539127588272095},{"id":"https://openalex.org/keywords/loop-fission","display_name":"Loop fission","score":0.5535776615142822},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5298799276351929},{"id":"https://openalex.org/keywords/loop-tiling","display_name":"Loop tiling","score":0.45507729053497314},{"id":"https://openalex.org/keywords/loop-fusion","display_name":"Loop fusion","score":0.4514150619506836},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.433141827583313},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.4219846725463867},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.4178350865840912},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.13990497589111328},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.138469398021698},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1046777069568634}],"concepts":[{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.8880069255828857},{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.8814165592193604},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8407447338104248},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7609117031097412},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.7125309705734253},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.5900324583053589},{"id":"https://openalex.org/C164833996","wikidata":"https://www.wikidata.org/wiki/Q2323839","display_name":"Automatic parallelization","level":3,"score":0.5539127588272095},{"id":"https://openalex.org/C134718785","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fission","level":3,"score":0.5535776615142822},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5298799276351929},{"id":"https://openalex.org/C11799548","wikidata":"https://www.wikidata.org/wiki/Q6675847","display_name":"Loop tiling","level":3,"score":0.45507729053497314},{"id":"https://openalex.org/C82653869","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fusion","level":3,"score":0.4514150619506836},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.433141827583313},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.4219846725463867},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.4178350865840912},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.13990497589111328},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.138469398021698},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1046777069568634},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2259016.2259027","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2259016.2259027","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Tenth International Symposium on Code Generation and Optimization","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W1535075520","https://openalex.org/W1600412288","https://openalex.org/W1963965124","https://openalex.org/W2002252837","https://openalex.org/W2011777324","https://openalex.org/W2018568851","https://openalex.org/W2021235324","https://openalex.org/W2032391783","https://openalex.org/W2034761517","https://openalex.org/W2063774307","https://openalex.org/W2087977509","https://openalex.org/W2090975578","https://openalex.org/W2112059128","https://openalex.org/W2119547137","https://openalex.org/W2120680665","https://openalex.org/W2143462372","https://openalex.org/W2143879997","https://openalex.org/W2145861698","https://openalex.org/W2296703101","https://openalex.org/W2739266613","https://openalex.org/W3203568064","https://openalex.org/W4233008115","https://openalex.org/W6678107477"],"related_works":["https://openalex.org/W2342605656","https://openalex.org/W2040522199","https://openalex.org/W154155438","https://openalex.org/W1596526459","https://openalex.org/W2058764256","https://openalex.org/W1508919682","https://openalex.org/W2109246102","https://openalex.org/W1532159642","https://openalex.org/W2340721088","https://openalex.org/W2954733970"],"abstract_inverted_index":{"Most":[0],"automatic":[1],"parallelizers":[2],"are":[3,144],"based":[4],"on":[5],"detection":[6],"of":[7,12,110],"independent":[8],"computations,":[9],"and":[10,94,98],"most":[11],"them":[13],"cannot":[14],"do":[15],"anything":[16],"if":[17],"there":[18],"is":[19,65,87,156],"a":[20,39,68,73,90,125],"true":[21],"dependence":[22],"between":[23],"computations.":[24],"However,":[25],"this":[26],"can":[27],"be":[28],"surmounted":[29],"for":[30,41,118],"programs":[31],"that":[32,136],"perform":[33],"prefix":[34],"computations":[35],"(scans).":[36],"We":[37,75,102,133],"present":[38,104],"method":[40,86,126],"automatically":[42],"parallelizing":[43],"such":[44],"\"inherently":[45],"sequential\"":[46],"programs.":[47],"Our":[48,85],"method,":[49],"which":[50],"handles":[51],"arbitrarily":[52],"nested":[53],"loops,":[54],"identifies":[55],"situations":[56,151],"where":[57,152],"the":[58,62,83,108,111,119,129,137],"computation":[59],"performed":[60,140],"by":[61,141],"loop":[63],"body":[64],"equivalent":[66],"to":[67,106,127],"matrix":[69],"vector":[70],"product":[71],"over":[72],"semi-ring.":[74],"also":[76,103],"deal":[77],"with":[78],"mutually":[79],"dependent":[80],"variables":[81],"in":[82,89,150],"loop.":[84],"implemented":[88],"polyhedral":[91],"program":[92],"transformation":[93],"code":[95],"generation":[96],"system":[97,143],"generates":[99],"OpenMP":[100],"code.":[101],"strategies":[105],"improve":[107],"performance":[109,116],"generated":[112],"code,":[113],"an":[114],"analytical":[115],"model":[117],"expected":[120],"speedup,":[121],"as":[122,124],"well":[123],"choose":[128],"parallelization":[130],"parameters":[131],"optimally.":[132],"show":[134],"experimentally":[135],"scan":[138],"parallelizations":[139],"our":[142],"effective,":[145],"yielding":[146],"linear":[147],"(iso-efficient)":[148],"speedup":[149],"no":[153],"other":[154],"parallelism":[155],"available.":[157]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":3}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
