{"id":"https://openalex.org/W2333659671","doi":"https://doi.org/10.1145/2886101","title":"A Compiler Approach for Exploiting Partial SIMD Parallelism","display_name":"A Compiler Approach for Exploiting Partial SIMD Parallelism","publication_year":2016,"publication_date":"2016-03-28","ids":{"openalex":"https://openalex.org/W2333659671","doi":"https://doi.org/10.1145/2886101","mag":"2333659671"},"language":"en","primary_location":{"id":"doi:10.1145/2886101","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2886101","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=2886101&type=pdf","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Architecture and Code Optimization","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"http://dl.acm.org/ft_gateway.cfm?id=2886101&type=pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5100397092","display_name":"Hao Zhou","orcid":"https://orcid.org/0009-0009-3536-7623"},"institutions":[{"id":"https://openalex.org/I31746571","display_name":"UNSW Sydney","ror":"https://ror.org/03r8z3t63","country_code":"AU","type":"education","lineage":["https://openalex.org/I31746571"]}],"countries":["AU"],"is_corresponding":true,"raw_author_name":"Hao Zhou","raw_affiliation_strings":["UNSW Australia/NUDT, China"],"affiliations":[{"raw_affiliation_string":"UNSW Australia/NUDT, China","institution_ids":["https://openalex.org/I31746571"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5024664385","display_name":"Jingling Xue","orcid":"https://orcid.org/0000-0003-0380-3506"},"institutions":[{"id":"https://openalex.org/I31746571","display_name":"UNSW Sydney","ror":"https://ror.org/03r8z3t63","country_code":"AU","type":"education","lineage":["https://openalex.org/I31746571"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Jingling Xue","raw_affiliation_strings":["UNSW Australia, NSW, Australia"],"affiliations":[{"raw_affiliation_string":"UNSW Australia, NSW, Australia","institution_ids":["https://openalex.org/I31746571"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5100397092"],"corresponding_institution_ids":["https://openalex.org/I31746571"],"apc_list":null,"apc_paid":null,"fwci":8.3194,"has_fulltext":true,"cited_by_count":42,"citation_normalized_percentile":{"value":0.98188604,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"13","issue":"1","first_page":"1","last_page":"26"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9990000128746033,"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9984999895095825,"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/computer-science","display_name":"Computer science","score":0.8817847371101379},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.8306446075439453},{"id":"https://openalex.org/keywords/simd","display_name":"SIMD","score":0.8223721385002136},{"id":"https://openalex.org/keywords/vectorization","display_name":"Vectorization (mathematics)","score":0.683260977268219},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6557828187942505},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.424865186214447},{"id":"https://openalex.org/keywords/datapath","display_name":"Datapath","score":0.4246913492679596},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.12130576372146606}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8817847371101379},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.8306446075439453},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.8223721385002136},{"id":"https://openalex.org/C41681595","wikidata":"https://www.wikidata.org/wiki/Q7917855","display_name":"Vectorization (mathematics)","level":2,"score":0.683260977268219},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6557828187942505},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.424865186214447},{"id":"https://openalex.org/C2781198647","wikidata":"https://www.wikidata.org/wiki/Q1633673","display_name":"Datapath","level":2,"score":0.4246913492679596},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.12130576372146606}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2886101","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2886101","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=2886101&type=pdf","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Architecture and Code Optimization","raw_type":"journal-article"},{"id":"pmh:oai:unsworks.unsw.edu.au:1959.4/unsworks_41998","is_oa":true,"landing_page_url":"http://handle.unsw.edu.au/1959.4/unsworks_41998","pdf_url":null,"source":{"id":"https://openalex.org/S4377196481","display_name":"UNSWorks (UNSW Sydney)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I31746571","host_organization_name":"UNSW Sydney","host_organization_lineage":["https://openalex.org/I31746571"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},{"id":"pmh:oai:unsworks.library.unsw.edu.au:1959.4/unsworks_41998","is_oa":true,"landing_page_url":"http://hdl.handle.net/1959.4/unsworks_41998","pdf_url":null,"source":{"id":"https://openalex.org/S4306401737","display_name":"UNSWorks (University of New South Wales, Sydney, Australia)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I40053085","host_organization_name":"Australian Defence Force Academy","host_organization_lineage":["https://openalex.org/I40053085"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ACM Transactions on Architecture and Code Optimization, 13, 1, 11:1-11:26","raw_type":"http://purl.org/coar/resource_type/c_6501"}],"best_oa_location":{"id":"doi:10.1145/2886101","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2886101","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=2886101&type=pdf","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Architecture and Code Optimization","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G611870384","display_name":null,"funder_award_id":"grant","funder_id":"https://openalex.org/F4320334704","funder_display_name":"Australian Research Council"},{"id":"https://openalex.org/G6631425554","display_name":null,"funder_award_id":"DP110104628","funder_id":"https://openalex.org/F4320334704","funder_display_name":"Australian Research Council"}],"funders":[{"id":"https://openalex.org/F4320334704","display_name":"Australian Research Council","ror":"https://ror.org/05mmh0f86"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2333659671.pdf","grobid_xml":"https://content.openalex.org/works/W2333659671.grobid-xml"},"referenced_works_count":45,"referenced_works":["https://openalex.org/W951859702","https://openalex.org/W1149960754","https://openalex.org/W1495550651","https://openalex.org/W1503700136","https://openalex.org/W1563748761","https://openalex.org/W1583642359","https://openalex.org/W1966324811","https://openalex.org/W1975594295","https://openalex.org/W1991009705","https://openalex.org/W2011393414","https://openalex.org/W2012548389","https://openalex.org/W2013156670","https://openalex.org/W2018641575","https://openalex.org/W2020166439","https://openalex.org/W2020214444","https://openalex.org/W2022711417","https://openalex.org/W2037929850","https://openalex.org/W2040281526","https://openalex.org/W2063249715","https://openalex.org/W2090268225","https://openalex.org/W2095407217","https://openalex.org/W2099404643","https://openalex.org/W2100579514","https://openalex.org/W2104378884","https://openalex.org/W2111394443","https://openalex.org/W2121176848","https://openalex.org/W2124273985","https://openalex.org/W2137249790","https://openalex.org/W2137857636","https://openalex.org/W2147423491","https://openalex.org/W2147654959","https://openalex.org/W2153166874","https://openalex.org/W2157273783","https://openalex.org/W2162726111","https://openalex.org/W2167639788","https://openalex.org/W2288740281","https://openalex.org/W3006518470","https://openalex.org/W3010528205","https://openalex.org/W3016220765","https://openalex.org/W3140469843","https://openalex.org/W4242726609","https://openalex.org/W4244894488","https://openalex.org/W4245987756","https://openalex.org/W4247176905","https://openalex.org/W4252742548"],"related_works":["https://openalex.org/W2890419659","https://openalex.org/W2378016289","https://openalex.org/W2121941320","https://openalex.org/W2750126981","https://openalex.org/W2286348849","https://openalex.org/W2023505575","https://openalex.org/W2021715972","https://openalex.org/W3149597153","https://openalex.org/W4384824825","https://openalex.org/W2108458683"],"abstract_inverted_index":{"Existing":[0],"vectorization":[1],"techniques":[2],"are":[3],"ineffective":[4],"for":[5],"loops":[6,24],"that":[7,20],"exhibit":[8],"little":[9],"loop-level":[10],"parallelism":[11,16,41],"but":[12],"some":[13],"limited":[14],"superword-level":[15],"(SLP).":[17],"We":[18,49],"show":[19],"effectively":[21],"vectorizing":[22],"such":[23,78],"requires":[25],"partial":[26,39,124],"vector":[27,92],"operations":[28],"to":[29,76,86],"be":[30],"executed":[31],"correctly":[32],"and":[33,64,133,142],"efficiently,":[34],"where":[35],"the":[36,45,72,97],"degree":[37],"of":[38,71,119],"SIMD":[40,46,88,125],"is":[42,85],"smaller":[43],"than":[44,136],"datapath":[47],"width.":[48],"present":[50],"a":[51,69,117],"simple":[52],"yet":[53],"effective":[54],"SLP":[55,74],"compiler":[56],"technique":[57],"called":[58],"P":[59,127],"aver":[60,128],"(PArtial":[61],"VEctorizeR),":[62],"formulated":[63],"implemented":[65],"in":[66],"LLVM":[67,137],"as":[68],"generalization":[70],"traditional":[73],"algorithm,":[75],"optimize":[77],"partially":[79],"vectorizable":[80],"loops.":[81],"The":[82],"key":[83],"idea":[84],"maximize":[87],"utilization":[89],"by":[90,100],"widening":[91],"instructions":[93],"used":[94],"while":[95],"minimizing":[96],"overheads":[98],"caused":[99],"memory":[101,110],"access,":[102],"packing/unpacking,":[103],"and/or":[104],"masking":[105],"operations,":[106],"without":[107],"introducing":[108],"new":[109,113],"errors":[111],"or":[112],"numeric":[114],"exceptions.":[115],"For":[116],"set":[118],"9":[120],"C/C++/Fortran":[121],"applications":[122],"with":[123],"parallelism,":[126],"achieves":[129],"significantly":[130],"better":[131],"kernel":[132],"whole-program":[134],"speedups":[135],"on":[138],"both":[139],"Intel\u2019s":[140],"AVX":[141],"ARM\u2019s":[143],"NEON.":[144]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":5},{"year":2018,"cited_by_count":9},{"year":2017,"cited_by_count":8},{"year":2016,"cited_by_count":4}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
