{"id":"https://openalex.org/W4321496225","doi":"https://doi.org/10.1145/3579990.3580019","title":"Parsimony: Enabling SIMD/Vector Programming in Standard Compiler Flows","display_name":"Parsimony: Enabling SIMD/Vector Programming in Standard Compiler Flows","publication_year":2023,"publication_date":"2023-02-17","ids":{"openalex":"https://openalex.org/W4321496225","doi":"https://doi.org/10.1145/3579990.3580019"},"language":"en","primary_location":{"id":"doi:10.1145/3579990.3580019","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3579990.3580019","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 21st ACM/IEEE 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/A5034963609","display_name":"Vijay Kandiah","orcid":null},"institutions":[{"id":"https://openalex.org/I111979921","display_name":"Northwestern University","ror":"https://ror.org/000e0be47","country_code":"US","type":"education","lineage":["https://openalex.org/I111979921"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Vijay Kandiah","raw_affiliation_strings":["Northwestern University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Northwestern University, USA","institution_ids":["https://openalex.org/I111979921"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5078894707","display_name":"Daniel Lustig","orcid":"https://orcid.org/0000-0001-9763-7304"},"institutions":[{"id":"https://openalex.org/I4210127875","display_name":"Nvidia (United States)","ror":"https://ror.org/03jdj4y14","country_code":"US","type":"company","lineage":["https://openalex.org/I4210127875"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Daniel Lustig","raw_affiliation_strings":["NVIDIA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"NVIDIA, USA","institution_ids":["https://openalex.org/I4210127875"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5111373927","display_name":"Oreste Villa","orcid":null},"institutions":[{"id":"https://openalex.org/I4210127875","display_name":"Nvidia (United States)","ror":"https://ror.org/03jdj4y14","country_code":"US","type":"company","lineage":["https://openalex.org/I4210127875"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Oreste Villa","raw_affiliation_strings":["NVIDIA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"NVIDIA, USA","institution_ids":["https://openalex.org/I4210127875"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5031781240","display_name":"David Nellans","orcid":"https://orcid.org/0000-0001-5203-8367"},"institutions":[{"id":"https://openalex.org/I4210127875","display_name":"Nvidia (United States)","ror":"https://ror.org/03jdj4y14","country_code":"US","type":"company","lineage":["https://openalex.org/I4210127875"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David Nellans","raw_affiliation_strings":["NVIDIA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"NVIDIA, USA","institution_ids":["https://openalex.org/I4210127875"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5077219627","display_name":"Nikos Hardavellas","orcid":"https://orcid.org/0000-0002-1137-8100"},"institutions":[{"id":"https://openalex.org/I111979921","display_name":"Northwestern University","ror":"https://ror.org/000e0be47","country_code":"US","type":"education","lineage":["https://openalex.org/I111979921"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nikos Hardavellas","raw_affiliation_strings":["Northwestern University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Northwestern University, USA","institution_ids":["https://openalex.org/I111979921"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.1533,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.7443346,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"186","last_page":"198"},"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9973000288009644,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9947999715805054,"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/spmd","display_name":"SPMD","score":0.9244409203529358},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8844490051269531},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8521322011947632},{"id":"https://openalex.org/keywords/simd","display_name":"SIMD","score":0.8418596982955933},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.758355975151062},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6316043138504028},{"id":"https://openalex.org/keywords/parallel-programming-model","display_name":"Parallel programming model","score":0.4979715347290039},{"id":"https://openalex.org/keywords/vectorization","display_name":"Vectorization (mathematics)","score":0.4310036301612854},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.41638362407684326},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.32190781831741333}],"concepts":[{"id":"https://openalex.org/C7042729","wikidata":"https://www.wikidata.org/wiki/Q2289219","display_name":"SPMD","level":2,"score":0.9244409203529358},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8844490051269531},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8521322011947632},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.8418596982955933},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.758355975151062},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6316043138504028},{"id":"https://openalex.org/C137364921","wikidata":"https://www.wikidata.org/wiki/Q27929394","display_name":"Parallel programming model","level":3,"score":0.4979715347290039},{"id":"https://openalex.org/C41681595","wikidata":"https://www.wikidata.org/wiki/Q7917855","display_name":"Vectorization (mathematics)","level":2,"score":0.4310036301612854},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.41638362407684326},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.32190781831741333}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3579990.3580019","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3579990.3580019","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4003433724","display_name":null,"funder_award_id":"CCF-2119069, CCF-2028851, CNS-1763743","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W1480909796","https://openalex.org/W1972663160","https://openalex.org/W1985372145","https://openalex.org/W1994316441","https://openalex.org/W2067635581","https://openalex.org/W2070590009","https://openalex.org/W2074830943","https://openalex.org/W2078862445","https://openalex.org/W2090268225","https://openalex.org/W2118031182","https://openalex.org/W2124556751","https://openalex.org/W2135736783","https://openalex.org/W2155568054","https://openalex.org/W2157273783","https://openalex.org/W2293666837","https://openalex.org/W2295329047","https://openalex.org/W2613264175","https://openalex.org/W2623389408","https://openalex.org/W2766807579","https://openalex.org/W2995010870","https://openalex.org/W3013258932","https://openalex.org/W3016220765","https://openalex.org/W3090225637","https://openalex.org/W3104343495","https://openalex.org/W3123542955","https://openalex.org/W3152824079","https://openalex.org/W4230890341","https://openalex.org/W4242726609","https://openalex.org/W4245302940","https://openalex.org/W4246960770","https://openalex.org/W4255465399","https://openalex.org/W4281621335","https://openalex.org/W6950194853"],"related_works":["https://openalex.org/W2566637483","https://openalex.org/W2127324789","https://openalex.org/W1979287416","https://openalex.org/W1491222299","https://openalex.org/W2304162915","https://openalex.org/W2563372350","https://openalex.org/W2093726305","https://openalex.org/W203671229","https://openalex.org/W4244552242","https://openalex.org/W1549543749"],"abstract_inverted_index":{"Achieving":[0],"peak":[1],"throughput":[2],"on":[3,163],"modern":[4],"CPUs":[5],"requires":[6],"maximizing":[7],"the":[8,56,87,98,121,136,141,156,169],"use":[9,28],"of":[10,59,117,126,135,143,155,158,180],"single-instruction,":[11],"multiple-data":[12,19],"(SIMD)":[13],"or":[14,48],"vector":[15],"compute":[16],"units.":[17],"Single-program,":[18],"(SPMD)":[20],"programming":[21,30,50,70,100],"models":[22],"are":[23],"an":[24],"effective":[25],"way":[26],"to":[27,32,42,76,83],"high-level":[29],"languages":[31,81],"target":[33],"these":[34],"ISAs.":[35],"Unfortunately,":[36],"many":[37],"SPMD":[38,69,127,150,193],"frameworks":[39],"have":[40,43],"evolved":[41],"either":[44],"overly-restrictive":[45],"language":[46,122,182],"specifications":[47],"under-specified":[49],"models,":[51],"and":[52,82,103,123,152,183],"this":[53],"has":[54,177],"slowed":[55],"widescale":[57],"adoption":[58],"SPMD-style":[60],"programming.":[61,128],"This":[62],"paper":[63],"introduces":[64],"Parsimony":[65,99,137,176],"(PARallel":[66],"SIMd),":[67],"a":[68,107,132,145],"approach":[71,138],"built":[72],"with":[73,79],"semantics":[74,102],"designed":[75],"be":[77],"compatible":[78],"multiple":[80],"cleanly":[84],"integrate":[85],"into":[86],"standard":[88],"optimizing":[89],"compiler":[90,109,184],"toolchains":[91],"for":[92],"those":[93],"languages.":[94],"We":[95,129,172],"first":[96],"explain":[97],"model":[101],"how":[104],"they":[105],"enable":[106,191],"standalone":[108],"IR-to-IR":[110],"pass":[111],"that":[112,139],"can":[113],"perform":[114],"vectorization":[115],"independently":[116],"other":[118],"passes,":[119],"improving":[120],"toolchain":[124],"compatibility":[125],"then":[130],"demonstrate":[131],"LLVM":[133],"prototype":[134],"matches":[140],"performance":[142,157],"ispc,":[144],"popular":[146],"but":[147],"more":[148],"restrictive":[149],"approach,":[151],"achieves":[153],"97%":[154],"hand-written":[159],"AVX-512":[160],"SIMD":[161],"intrinsics":[162],"over":[164],"70":[165],"benchmarks":[166],"ported":[167],"from":[168],"Simd":[170],"Library.":[171],"finally":[173],"discuss":[174],"where":[175,186],"exposed":[178],"parts":[179],"existing":[181],"flows":[185],"slight":[187],"improvements":[188],"could":[189],"further":[190],"improved":[192],"program":[194],"vectorization.":[195]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
