{"id":"https://openalex.org/W2488840986","doi":"https://doi.org/10.1145/2908080.2908111","title":"FlexVec: auto-vectorization for irregular loops","display_name":"FlexVec: auto-vectorization for irregular loops","publication_year":2016,"publication_date":"2016-06-02","ids":{"openalex":"https://openalex.org/W2488840986","doi":"https://doi.org/10.1145/2908080.2908111","mag":"2488840986"},"language":"en","primary_location":{"id":"doi:10.1145/2908080.2908111","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2908080.2908111","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"conference-paper","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/A5016397835","display_name":"Sara S. Baghsorkhi","orcid":null},"institutions":[{"id":"https://openalex.org/I1343180700","display_name":"Intel (United States)","ror":"https://ror.org/01ek73717","country_code":"US","type":"company","lineage":["https://openalex.org/I1343180700"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sara S. Baghsorkhi","raw_affiliation_strings":["Intel, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Intel, USA","institution_ids":["https://openalex.org/I1343180700"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5074324538","display_name":"Nalini Vasudevan","orcid":null},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nalini Vasudevan","raw_affiliation_strings":["Google, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Google, USA","institution_ids":["https://openalex.org/I1291425158"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5101174906","display_name":"Youfeng Wu","orcid":null},"institutions":[{"id":"https://openalex.org/I1343180700","display_name":"Intel (United States)","ror":"https://ror.org/01ek73717","country_code":"US","type":"company","lineage":["https://openalex.org/I1343180700"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Youfeng Wu","raw_affiliation_strings":["Intel, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Intel, USA","institution_ids":["https://openalex.org/I1343180700"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":26,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"697","last_page":"710"},"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9994000196456909,"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.9993000030517578,"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/vectorization","display_name":"Vectorization (mathematics)","score":0.9433728456497192},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.805332601070404},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.7734673023223877},{"id":"https://openalex.org/keywords/simd","display_name":"SIMD","score":0.7504696846008301},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7458979487419128},{"id":"https://openalex.org/keywords/spec#","display_name":"Spec#","score":0.4634333550930023},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.3767740726470947},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.16472142934799194}],"concepts":[{"id":"https://openalex.org/C41681595","wikidata":"https://www.wikidata.org/wiki/Q7917855","display_name":"Vectorization (mathematics)","level":2,"score":0.9433728456497192},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.805332601070404},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.7734673023223877},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.7504696846008301},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7458979487419128},{"id":"https://openalex.org/C2778565505","wikidata":"https://www.wikidata.org/wiki/Q2207566","display_name":"Spec#","level":2,"score":0.4634333550930023},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.3767740726470947},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.16472142934799194}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2908080.2908111","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2908080.2908111","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.5099999904632568}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W69130158","https://openalex.org/W1966324811","https://openalex.org/W1975594295","https://openalex.org/W2010920360","https://openalex.org/W2011393414","https://openalex.org/W2012252449","https://openalex.org/W2012548389","https://openalex.org/W2013156670","https://openalex.org/W2020166439","https://openalex.org/W2074894539","https://openalex.org/W2085809150","https://openalex.org/W2088377490","https://openalex.org/W2098903349","https://openalex.org/W2104378884","https://openalex.org/W2111394443","https://openalex.org/W2122570616","https://openalex.org/W2124273985","https://openalex.org/W2130408605","https://openalex.org/W2134633067","https://openalex.org/W2144344516","https://openalex.org/W2148865465","https://openalex.org/W2162323496","https://openalex.org/W4205855566","https://openalex.org/W4236135525","https://openalex.org/W4239813889"],"related_works":["https://openalex.org/W2566637483","https://openalex.org/W2127324789","https://openalex.org/W3024308452","https://openalex.org/W2099629705","https://openalex.org/W4244894488","https://openalex.org/W4285390450","https://openalex.org/W2090268225","https://openalex.org/W2366442643","https://openalex.org/W2021715972","https://openalex.org/W2761732860"],"abstract_inverted_index":{"Traditional":[0],"vectorization":[1,20,58,157,170,177],"techniques":[2,49,59,115],"build":[3],"a":[4,15,33,180,189],"dependence":[5,80],"graph":[6],"with":[7,69,111,168],"distance":[8],"and":[9,135,164,188],"direction":[10],"information":[11],"to":[12,65,116,142],"determine":[13],"whether":[14],"loop":[16,122],"is":[17,92],"vectorizable.":[18],"Since":[19],"reorders":[21],"the":[22,43,79,90,96,143,151],"execution":[23],"of":[24,95,183,192],"instructions":[25,30,110],"across":[26],"iterations,":[27],"in":[28,32,62],"general":[29],"involved":[31],"strongly":[34],"connected":[35],"component":[36],"(SCC)":[37],"are":[38,60],"deemed":[39],"not":[40,86],"vectorizable":[41],"unless":[42],"SCC":[44],"can":[45],"be":[46],"eliminated":[47],"using":[48],"such":[50],"as":[51,140,171],"scalar":[52],"expansion":[53],"or":[54,73],"privatization.":[55],"Therefore,":[56],"traditional":[57],"limited":[61],"their":[63],"ability":[64],"efficiently":[66],"handle":[67],"loops":[68],"dynamic":[70],"cross-iteration":[71,126],"dependencies":[72,84,127],"complex":[74],"control":[75],"flow":[76],"interweaved":[77],"within":[78],"cycles.":[81],"When":[82],"potential":[83],"do":[85],"occur":[87],"very":[88],"often,":[89],"end-result":[91],"under":[93],"utilization":[94],"SIMD":[97],"hardware.":[98],"In":[99],"this":[100],"paper,":[101],"we":[102],"propose":[103],"FlexVec":[104,156,176],"architecture":[105],"that":[106,128,175],"combines":[107],"new":[108,138],"vector":[109,119],"novel":[112],"code":[113],"generation":[114],"dynamically":[117],"adjusts":[118],"length":[120],"for":[121,158,185,194],"statements":[123],"affected":[124],"by":[125,155],"happen":[129],"at":[130],"runtime.":[131],"We":[132,148,173],"have":[133,149],"designed":[134],"implemented":[136],"FlexVec's":[137],"ISA":[139],"extensions":[141],"recently":[144],"released":[145],"AVX-512":[146,169],"ISA.":[147],"evaluated":[150],"performance":[152],"improvements":[153],"enabled":[154],"11":[159],"C/C++":[160],"SPEC":[161,186],"2006":[162,187],"benchmarks":[163],"7":[165,195],"real":[166,196],"applications":[167],"baseline.":[172],"show":[174],"technique":[178],"produces":[179],"Geomean":[181,190],"speedup":[182,191],"9%":[184],"11%":[193],"applications.":[197]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":4},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":9},{"year":2017,"cited_by_count":4}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
