{"id":"https://openalex.org/W3138379412","doi":"https://doi.org/10.1109/cgo51591.2021.9370319","title":"Loop Parallelization using Dynamic Commutativity Analysis","display_name":"Loop Parallelization using Dynamic Commutativity Analysis","publication_year":2021,"publication_date":"2021-02-27","ids":{"openalex":"https://openalex.org/W3138379412","doi":"https://doi.org/10.1109/cgo51591.2021.9370319","mag":"3138379412"},"language":"en","primary_location":{"id":"doi:10.1109/cgo51591.2021.9370319","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo51591.2021.9370319","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://www.research.ed.ac.uk/en/publications/faa6a0ea-187d-43cd-b69b-9eac45885dfb","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5039051400","display_name":"Christos Vasiladiotis","orcid":"https://orcid.org/0000-0001-7936-2183"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Christos Vasiladiotis","raw_affiliation_strings":["University of Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029290149","display_name":"Roberto Casta\u00f1eda Lozano","orcid":"https://orcid.org/0000-0002-2806-7333"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Roberto Castaneda Lozano","raw_affiliation_strings":["University of Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032376930","display_name":"Murray Cole","orcid":null},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Murray Cole","raw_affiliation_strings":["University of Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5070407969","display_name":"Bj\u00f6rn Franke","orcid":"https://orcid.org/0000-0002-1219-8523"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Bjorn Franke","raw_affiliation_strings":["University of Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5039051400"],"corresponding_institution_ids":["https://openalex.org/I98677209"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.03313348,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"46","issue":null,"first_page":"150","last_page":"161"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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":1.0,"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/T10829","display_name":"Interconnection Networks and Systems","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/automatic-parallelization","display_name":"Automatic parallelization","score":0.892372727394104},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8535036444664001},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.8087496161460876},{"id":"https://openalex.org/keywords/parallelizable-manifold","display_name":"Parallelizable manifold","score":0.6216418743133545},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5824235677719116},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.573701024055481},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.56706702709198},{"id":"https://openalex.org/keywords/dependence-analysis","display_name":"Dependence analysis","score":0.5436581373214722},{"id":"https://openalex.org/keywords/multi-core-processor","display_name":"Multi-core processor","score":0.5152388215065002},{"id":"https://openalex.org/keywords/instruction-level-parallelism","display_name":"Instruction-level parallelism","score":0.45272281765937805},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.45026639103889465},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.2870268225669861},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.26993560791015625},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.0843481719493866}],"concepts":[{"id":"https://openalex.org/C164833996","wikidata":"https://www.wikidata.org/wiki/Q2323839","display_name":"Automatic parallelization","level":3,"score":0.892372727394104},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8535036444664001},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.8087496161460876},{"id":"https://openalex.org/C148047603","wikidata":"https://www.wikidata.org/wiki/Q1014612","display_name":"Parallelizable manifold","level":2,"score":0.6216418743133545},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5824235677719116},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.573701024055481},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.56706702709198},{"id":"https://openalex.org/C27390822","wikidata":"https://www.wikidata.org/wiki/Q320724","display_name":"Dependence analysis","level":2,"score":0.5436581373214722},{"id":"https://openalex.org/C78766204","wikidata":"https://www.wikidata.org/wiki/Q555032","display_name":"Multi-core processor","level":2,"score":0.5152388215065002},{"id":"https://openalex.org/C140763907","wikidata":"https://www.wikidata.org/wiki/Q2714055","display_name":"Instruction-level parallelism","level":3,"score":0.45272281765937805},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.45026639103889465},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.2870268225669861},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.26993560791015625},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.0843481719493866}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1109/cgo51591.2021.9370319","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo51591.2021.9370319","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.ed.ac.uk:publications/faa6a0ea-187d-43cd-b69b-9eac45885dfb","is_oa":true,"landing_page_url":null,"pdf_url":"https://www.research.ed.ac.uk/en/publications/faa6a0ea-187d-43cd-b69b-9eac45885dfb","source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""},{"id":"pmh:oai:pure.ed.ac.uk:publications/faa6a0ea-187d-43cd-b69b-9eac45885dfb","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/faa6a0ea-187d-43cd-b69b-9eac45885dfb","pdf_url":"https://www.research.ed.ac.uk/en/publications/faa6a0ea-187d-43cd-b69b-9eac45885dfb","source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Vasiladiotis, C, Castaneda Lozano, R, Cole, M & Franke, B 2021, Loop Parallelization using Dynamic Commutativity Analysis. in 2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO). Institute of Electrical and Electronics Engineers, pp. 150 - 161, 2021 International Symposium on Code Generation and Optimization, Virtual Conference, 27/02/21. https://doi.org/10.1109/CGO51591.2021.9370319","raw_type":"contributionToPeriodical"}],"best_oa_location":{"id":"pmh:oai:pure.ed.ac.uk:publications/faa6a0ea-187d-43cd-b69b-9eac45885dfb","is_oa":true,"landing_page_url":null,"pdf_url":"https://www.research.ed.ac.uk/en/publications/faa6a0ea-187d-43cd-b69b-9eac45885dfb","source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3667877411","display_name":null,"funder_award_id":"EP/P022642/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3138379412.pdf","grobid_xml":"https://content.openalex.org/works/W3138379412.grobid-xml"},"referenced_works_count":86,"referenced_works":["https://openalex.org/W184536514","https://openalex.org/W190163119","https://openalex.org/W207528040","https://openalex.org/W1483359125","https://openalex.org/W1484352283","https://openalex.org/W1494930385","https://openalex.org/W1963571656","https://openalex.org/W1966670013","https://openalex.org/W1973326708","https://openalex.org/W1976397984","https://openalex.org/W1982596120","https://openalex.org/W1982812416","https://openalex.org/W1983545421","https://openalex.org/W1986009031","https://openalex.org/W1996094959","https://openalex.org/W1997981086","https://openalex.org/W1999090148","https://openalex.org/W2008039167","https://openalex.org/W2010920360","https://openalex.org/W2018931757","https://openalex.org/W2020841721","https://openalex.org/W2028240990","https://openalex.org/W2029279761","https://openalex.org/W2029829152","https://openalex.org/W2036853599","https://openalex.org/W2056579078","https://openalex.org/W2076103176","https://openalex.org/W2078429521","https://openalex.org/W2095279729","https://openalex.org/W2097717378","https://openalex.org/W2098903349","https://openalex.org/W2102976251","https://openalex.org/W2104251622","https://openalex.org/W2106231823","https://openalex.org/W2110539445","https://openalex.org/W2110645221","https://openalex.org/W2112121929","https://openalex.org/W2119151382","https://openalex.org/W2119393363","https://openalex.org/W2121319784","https://openalex.org/W2124861237","https://openalex.org/W2126601652","https://openalex.org/W2139795587","https://openalex.org/W2140021378","https://openalex.org/W2140242465","https://openalex.org/W2145625133","https://openalex.org/W2147801215","https://openalex.org/W2149698371","https://openalex.org/W2152686702","https://openalex.org/W2153185479","https://openalex.org/W2153510998","https://openalex.org/W2154326517","https://openalex.org/W2158308706","https://openalex.org/W2159055648","https://openalex.org/W2160401437","https://openalex.org/W2164890169","https://openalex.org/W2167089275","https://openalex.org/W2168277865","https://openalex.org/W2171546589","https://openalex.org/W2171607357","https://openalex.org/W2293274942","https://openalex.org/W2305289128","https://openalex.org/W2417495832","https://openalex.org/W2472987663","https://openalex.org/W2593883698","https://openalex.org/W2744281495","https://openalex.org/W2788227472","https://openalex.org/W2788952820","https://openalex.org/W2792716933","https://openalex.org/W2891872777","https://openalex.org/W2912530233","https://openalex.org/W2963723316","https://openalex.org/W3004176791","https://openalex.org/W3012385591","https://openalex.org/W4236400344","https://openalex.org/W4237187719","https://openalex.org/W4239409840","https://openalex.org/W4246166885","https://openalex.org/W4247840886","https://openalex.org/W4250405455","https://openalex.org/W4250460648","https://openalex.org/W4252176599","https://openalex.org/W4254522355","https://openalex.org/W4291713045","https://openalex.org/W6678595885","https://openalex.org/W6754677167"],"related_works":["https://openalex.org/W1518850081","https://openalex.org/W2346123447","https://openalex.org/W2125658660","https://openalex.org/W1988103660","https://openalex.org/W2065971634","https://openalex.org/W2106472852","https://openalex.org/W4246225894","https://openalex.org/W2567057570","https://openalex.org/W1995446441","https://openalex.org/W1567267707"],"abstract_inverted_index":{"Automatic":[0],"parallelization":[1,67],"has":[2],"largely":[3],"failed":[4],"to":[5,16,68,102,114,142,156,178,190],"keep":[6],"its":[7],"promise":[8],"of":[9,44,50,65,173,199,209],"extracting":[10],"parallelism":[11,83,204],"from":[12],"sequential":[13],"legacy":[14],"code":[15,164],"maximize":[17],"performance":[18],"on":[19,184],"multi-core":[20],"systems":[21],"outside":[22],"the":[23,51,63,103,123,134,181,193,197],"numerical":[24],"domain.":[25],"In":[26],"this":[27,167],"paper,":[28],"we":[29],"develop":[30],"a":[31,185,206],"novel":[32,82],"dynamic":[33],"commutativity":[34,42],"analysis":[35,85],"(DCA)":[36],"for":[37,192],"identifying":[38,202],"parallelizable":[39],"loops.":[40,210],"Using":[41],"instead":[43],"dependence":[45,55,125],"tests,":[46],"DCA":[47,61,111,141,200],"avoids":[48],"many":[49,117,131],"overly":[52],"strict":[53],"data":[54],"constraints":[56],"limiting":[57],"existing":[58,153,162],"parallelizing":[59],"compilers.":[60],"extends":[62],"scope":[64],"automatic":[66],"uniformly":[69],"include":[70],"both":[71],"regular":[72],"array-based":[73],"and":[74,86,127,188],"irregular":[75],"pointer-based":[76,144,194],"codes.":[77],"We":[78,138],"have":[79],"prototyped":[80],"our":[81],"detection":[84],"evaluated":[87],"it":[88,147],"extensively":[89],"against":[90],"five":[91],"state-of-the-art":[92],"dependence-based":[93],"techniques":[94,126,136,154],"in":[95,169,201],"two":[96],"experimental":[97],"settings.":[98],"First,":[99],"when":[100],"applied":[101],"NAS":[104,182],"benchmarks":[105,183],"which":[106],"contain":[107],"almost":[108,128],"1400":[109],"loops,":[110,145,195],"is":[112],"able":[113],"identify":[115,157],"as":[116,122,130,132],"parallel":[118,163],"loops":[119],"(over":[120],"1200)":[121],"profile-guided":[124],"twice":[129],"all":[133],"static":[135],"combined.":[137],"then":[139],"apply":[140],"complex":[143],"where":[146],"can":[148],"successfully":[149],"detect":[150],"parallelism,":[151],"while":[152],"fail":[155],"any.":[158],"When":[159],"combined":[160],"with":[161],"generation":[165],"techniques,":[166],"results":[168],"an":[170],"average":[171],"speedup":[172],"3.6":[174],"\u00d7":[175],"(and":[176],"up":[177,189],"55x)":[179],"across":[180,205],"72-core":[186],"host,":[187],"36.9x":[191],"demonstrating":[196],"effectiveness":[198],"profitable":[203],"wide":[207],"range":[208]},"counts_by_year":[],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
