{"id":"https://openalex.org/W7119480054","doi":"https://doi.org/10.1145/3776663","title":"Optimising Density Computations in Probabilistic Programs via Automatic Loop Vectorisation","display_name":"Optimising Density Computations in Probabilistic Programs via Automatic Loop Vectorisation","publication_year":2026,"publication_date":"2026-01-08","ids":{"openalex":"https://openalex.org/W7119480054","doi":"https://doi.org/10.1145/3776663"},"language":"en","primary_location":{"id":"doi:10.1145/3776663","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776663","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"public-domain","license_id":"https://openalex.org/licenses/public-domain","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3776663","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Sangho Lim","orcid":"https://orcid.org/0009-0006-6172-0644"},"institutions":[{"id":"https://openalex.org/I157485424","display_name":"Korea Advanced Institute of Science and Technology","ror":"https://ror.org/05apxxy63","country_code":"KR","type":"education","lineage":["https://openalex.org/I157485424"]}],"countries":["KR"],"is_corresponding":false,"raw_author_name":"Sangho Lim","raw_affiliation_strings":["KAIST, Daejeon, Republic of Korea"],"raw_orcid":"https://orcid.org/0009-0006-6172-0644","affiliations":[{"raw_affiliation_string":"KAIST, Daejeon, Republic of Korea","institution_ids":["https://openalex.org/I157485424"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5089744228","display_name":"Hyoung-Jin Lim","orcid":null},"institutions":[{"id":"https://openalex.org/I157485424","display_name":"Korea Advanced Institute of Science and Technology","ror":"https://ror.org/05apxxy63","country_code":"KR","type":"education","lineage":["https://openalex.org/I157485424"]}],"countries":["KR"],"is_corresponding":false,"raw_author_name":"Hyoungjin Lim","raw_affiliation_strings":["KAIST, Daejeon, Republic of Korea"],"raw_orcid":"https://orcid.org/0009-0002-9728-3125","affiliations":[{"raw_affiliation_string":"KAIST, Daejeon, Republic of Korea","institution_ids":["https://openalex.org/I157485424"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5060394258","display_name":"Wonyeol Lee","orcid":"https://orcid.org/0000-0003-0301-0872"},"institutions":[{"id":"https://openalex.org/I123900574","display_name":"Pohang University of Science and Technology","ror":"https://ror.org/04xysgw12","country_code":"KR","type":"education","lineage":["https://openalex.org/I123900574"]}],"countries":["KR"],"is_corresponding":false,"raw_author_name":"Wonyeol Lee","raw_affiliation_strings":["POSTECH, Pohang, Republic of Korea"],"raw_orcid":"https://orcid.org/0000-0003-0301-0872","affiliations":[{"raw_affiliation_string":"POSTECH, Pohang, Republic of Korea","institution_ids":["https://openalex.org/I123900574"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5037983866","display_name":"Xavier Rival","orcid":"https://orcid.org/0000-0002-2875-6171"},"institutions":[{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"government","lineage":["https://openalex.org/I1294671590"]},{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]},{"id":"https://openalex.org/I2746051580","display_name":"Universit\u00e9 Paris Sciences et Lettres","ror":"https://ror.org/013cjyk83","country_code":"FR","type":"education","lineage":["https://openalex.org/I2746051580"]},{"id":"https://openalex.org/I29607241","display_name":"\u00c9cole Normale Sup\u00e9rieure - PSL","ror":"https://ror.org/05a0dhs15","country_code":"FR","type":"other","lineage":["https://openalex.org/I2746051580","https://openalex.org/I29607241"]},{"id":"https://openalex.org/I4210103330","display_name":"\u00c9cole Normale Sup\u00e9rieure","ror":"https://ror.org/01dp7jr64","country_code":"BI","type":"education","lineage":["https://openalex.org/I4210103330"]},{"id":"https://openalex.org/I4210129409","display_name":"Institut de Biologie de l'\u00c9cole Normale Sup\u00e9rieure","ror":"https://ror.org/03mxktp47","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I154526488","https://openalex.org/I2746051580","https://openalex.org/I29607241","https://openalex.org/I4210096427","https://openalex.org/I4210129409"]}],"countries":["BI","FR"],"is_corresponding":false,"raw_author_name":"Xavier Rival","raw_affiliation_strings":["DIENS - \u00c9cole Normale Sup\u00e9rieure de Paris - CNRS - PSL University, Ecole Normale Sup\u00e9rieur de Paris - PSL, Paris, France","Inria Paris, Inria, Paris, France"],"raw_orcid":"https://orcid.org/0000-0002-2875-6171","affiliations":[{"raw_affiliation_string":"DIENS - \u00c9cole Normale Sup\u00e9rieure de Paris - CNRS - PSL University, Ecole Normale Sup\u00e9rieur de Paris - PSL, Paris, France","institution_ids":["https://openalex.org/I1294671590","https://openalex.org/I2746051580","https://openalex.org/I29607241","https://openalex.org/I4210103330","https://openalex.org/I4210129409"]},{"raw_affiliation_string":"Inria Paris, Inria, Paris, France","institution_ids":["https://openalex.org/I1326498283"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5122393187","display_name":"Hongseok Yang","orcid":null},"institutions":[{"id":"https://openalex.org/I157485424","display_name":"Korea Advanced Institute of Science and Technology","ror":"https://ror.org/05apxxy63","country_code":"KR","type":"education","lineage":["https://openalex.org/I157485424"]}],"countries":["KR"],"is_corresponding":false,"raw_author_name":"Hongseok Yang","raw_affiliation_strings":["KAIST, Daejeon, Republic of Korea"],"raw_orcid":"https://orcid.org/0000-0003-1502-2942","affiliations":[{"raw_affiliation_string":"KAIST, Daejeon, Republic of Korea","institution_ids":["https://openalex.org/I157485424"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":8,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.04476946,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"10","issue":"POPL","first_page":"597","last_page":"627"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.27559998631477356,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.27559998631477356,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.24060000479221344,"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/T10142","display_name":"Formal Methods in Verification","score":0.04450000077486038,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/probabilistic-logic","display_name":"Probabilistic logic","score":0.8300999999046326},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.6227999925613403},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.5766000151634216},{"id":"https://openalex.org/keywords/range","display_name":"Range (aeronautics)","score":0.524399995803833},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.49470001459121704},{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.4796000123023987},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.4300999939441681},{"id":"https://openalex.org/keywords/statistical-model","display_name":"Statistical model","score":0.39629998803138733}],"concepts":[{"id":"https://openalex.org/C49937458","wikidata":"https://www.wikidata.org/wiki/Q2599292","display_name":"Probabilistic logic","level":2,"score":0.8300999999046326},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8292999863624573},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.6227999925613403},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.5766000151634216},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.524399995803833},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.49470001459121704},{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.4796000123023987},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.4300999939441681},{"id":"https://openalex.org/C114289077","wikidata":"https://www.wikidata.org/wiki/Q3284399","display_name":"Statistical model","level":2,"score":0.39629998803138733},{"id":"https://openalex.org/C81917197","wikidata":"https://www.wikidata.org/wiki/Q628760","display_name":"Selection (genetic algorithm)","level":2,"score":0.374099999666214},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3727000057697296},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3231000006198883},{"id":"https://openalex.org/C2779624466","wikidata":"https://www.wikidata.org/wiki/Q838119","display_name":"For loop","level":3,"score":0.32199999690055847},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.29580000042915344},{"id":"https://openalex.org/C149364088","wikidata":"https://www.wikidata.org/wiki/Q185917","display_name":"Translation (biology)","level":4,"score":0.29280000925064087},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2777000069618225},{"id":"https://openalex.org/C134261354","wikidata":"https://www.wikidata.org/wiki/Q938438","display_name":"Statistical inference","level":2,"score":0.27320000529289246},{"id":"https://openalex.org/C60782215","wikidata":"https://www.wikidata.org/wiki/Q3333679","display_name":"Probabilistic method","level":3,"score":0.27129998803138733},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.2678000032901764},{"id":"https://openalex.org/C137293760","wikidata":"https://www.wikidata.org/wiki/Q3621696","display_name":"Language model","level":2,"score":0.26350000500679016},{"id":"https://openalex.org/C157764524","wikidata":"https://www.wikidata.org/wiki/Q1383412","display_name":"Throughput","level":3,"score":0.26030001044273376},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.2563999891281128},{"id":"https://openalex.org/C196083921","wikidata":"https://www.wikidata.org/wiki/Q7915758","display_name":"Variance (accounting)","level":2,"score":0.2554999887943268},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.25380000472068787}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3776663","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776663","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"public-domain","license_id":"https://openalex.org/licenses/public-domain","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:HAL:hal-05468306v1","is_oa":true,"landing_page_url":"https://hal.science/hal-05468306","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the ACM on Programming Languages, 2026, 10 (POPL), pp.597 - 627. &#x27E8;10.1145/3776663&#x27E9;","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3776663","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776663","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"public-domain","license_id":"https://openalex.org/licenses/public-domain","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2352619946","display_name":"EMASS: Effective Memory Analysis of Systems Software","funder_award_id":"ANR-22-CE39-0014","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"},{"id":"https://openalex.org/G304469494","display_name":null,"funder_award_id":"ANR-22-PECY-0005","funder_id":"https://openalex.org/F4320322120","funder_display_name":"National Research Foundation of Korea"},{"id":"https://openalex.org/G5456051321","display_name":null,"funder_award_id":"RS-2023-00279680","funder_id":"https://openalex.org/F4320322120","funder_display_name":"National Research Foundation of Korea"},{"id":"https://openalex.org/G5775753920","display_name":"Improving Software Systems Security Evaluation","funder_award_id":"ANR-22-PECY-0005","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"}],"funders":[{"id":"https://openalex.org/F4320320883","display_name":"Agence Nationale de la Recherche","ror":"https://ror.org/00rbzpz17"},{"id":"https://openalex.org/F4320322120","display_name":"National Research Foundation of Korea","ror":"https://ror.org/013aysd81"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":32,"referenced_works":["https://openalex.org/W621546036","https://openalex.org/W1669437150","https://openalex.org/W1994616650","https://openalex.org/W2009797711","https://openalex.org/W2020999234","https://openalex.org/W2046734432","https://openalex.org/W2056760934","https://openalex.org/W2059448777","https://openalex.org/W2138309709","https://openalex.org/W2146292423","https://openalex.org/W2147357149","https://openalex.org/W2577255746","https://openalex.org/W2577537660","https://openalex.org/W2810421208","https://openalex.org/W2981145471","https://openalex.org/W2981150028","https://openalex.org/W3005253617","https://openalex.org/W3008520999","https://openalex.org/W3037484309","https://openalex.org/W3194737151","https://openalex.org/W4206292736","https://openalex.org/W4220875893","https://openalex.org/W4240912299","https://openalex.org/W4244667252","https://openalex.org/W4286587675","https://openalex.org/W4301341693","https://openalex.org/W4385175635","https://openalex.org/W4386373863","https://openalex.org/W4387607419","https://openalex.org/W4393119138","https://openalex.org/W4400830905","https://openalex.org/W4416343250"],"related_works":[],"abstract_inverted_index":{"Probabilistic":[0],"programming":[1],"languages":[2],"(PPLs)":[3],"are":[4,85],"a":[5,16,31,61,65,116,149,157,164,185,219],"popular":[6],"tool":[7],"for":[8,20,121,177],"high-level":[9],"modelling":[10],"across":[11],"many":[12,210],"fields.":[13],"They":[14],"provide":[15],"range":[17,186],"of":[18,48,51,60,68,137,144,187,221],"algorithms":[19],"probabilistic":[21,39,52,126,188],"inference,":[22],"which":[23,215],"analyse":[24],"models":[25],"by":[26],"learning":[27],"their":[28,35],"parameters":[29],"from":[30,55,159],"dataset":[32,63],"or":[33,64],"estimating":[34],"posterior":[36],"distributions.":[37],"However,":[38],"inference":[40,53],"is":[41,79,216],"known":[42],"to":[43,91,218],"be":[44],"very":[45],"costly.":[46],"One":[47],"the":[49,56,142,145,178,213,228],"bottlenecks":[50],"stems":[54],"iteration":[57],"over":[58],"entries":[59],"large":[62],"long":[66],"series":[67],"random":[69],"samples.":[70],"Vectorisation":[71],"can":[72],"mitigate":[73],"this":[74,112],"cost,":[75],"but":[76],"manual":[77],"vectorisation":[78,199],"error-prone,":[80],"and":[81,88,100,118,181,204],"existing":[82,198],"automatic":[83],"techniques":[84],"often":[86],"ad-hoc":[87],"limited,":[89],"unable":[90],"handle":[92],"general":[93],"repetition":[94],"structures,":[95],"such":[96],"as":[97,156],"nested":[98],"loops":[99,101,124],"with":[102,168],"data-dependent":[103],"control":[104],"flow,":[105],"without":[106],"significant":[107,193],"user":[108],"intervention.":[109],"To":[110],"address":[111],"bottleneck,":[113],"we":[114],"propose":[115],"sound":[117],"effective":[119],"method":[120,129,155,176,224],"automatically":[122],"vectorising":[123],"in":[125,209],"programs.":[127],"Our":[128,190],"achieves":[130],"high":[131],"throughput":[132],"using":[133],"speculative":[134],"parallel":[135],"execution":[136],"loop":[138,147],"iterations,":[139],"while":[140],"preserving":[141],"semantics":[143],"original":[146],"through":[148],"fixed-point":[150],"check.":[151],"We":[152,173],"formalise":[153],"our":[154,175,223],"translation":[158],"an":[160,197],"imperative":[161],"PPL":[162,180],"into":[163],"lower-level":[165],"target":[166],"language":[167],"primitives":[169],"geared":[170],"towards":[171],"vectorisation.":[172],"implemented":[174],"Pyro":[179],"evaluated":[182],"it":[183],"on":[184],"models.":[189,230],"experiments":[191],"show":[192],"performance":[194],"gains":[195],"against":[196],"baseline,":[200,214],"achieving":[201],"1.1\u20136\u00d7":[202],"speedups":[203],"reducing":[205],"GPU":[206],"memory":[207],"usage":[208],"cases.":[211],"Unlike":[212],"limited":[217],"subset":[220],"models,":[222],"effectively":[225],"handled":[226],"all":[227],"tested":[229]},"counts_by_year":[],"updated_date":"2026-07-22T07:51:19.307946","created_date":"2026-01-09T00:00:00"}
