{"id":"https://openalex.org/W3195241200","doi":"https://doi.org/10.1145/3473593","title":"Getting to the point: index sets and parallelism-preserving autodiff for pointful array programming","display_name":"Getting to the point: index sets and parallelism-preserving autodiff for pointful array programming","publication_year":2021,"publication_date":"2021-08-19","ids":{"openalex":"https://openalex.org/W3195241200","doi":"https://doi.org/10.1145/3473593","mag":"3195241200"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3473593","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3473593","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_indexed_in_scopus":true,"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},"type":"article","type_crossref":"journal-article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3473593","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5004759214","display_name":"Adam Paszke","orcid":"https://orcid.org/0000-0002-7665-4559"},"institutions":[],"countries":["PL"],"is_corresponding":false,"raw_author_name":"Adam Paszke","raw_affiliation_strings":["Google Research, Poland"],"affiliations":[{"raw_affiliation_string":"Google Research, Poland","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023858028","display_name":"Daniel D. Johnson","orcid":"https://orcid.org/0000-0003-3119-5560"},"institutions":[{"id":"https://openalex.org/I4210148186","display_name":"Google (Canada)","ror":"https://ror.org/04d06q394","country_code":"CA","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969","https://openalex.org/I4210148186"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Daniel D. Johnson","raw_affiliation_strings":["Google Research, Canada"],"affiliations":[{"raw_affiliation_string":"Google Research, Canada","institution_ids":["https://openalex.org/I4210148186"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030409494","display_name":"David Duvenaud","orcid":null},"institutions":[{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"funder","lineage":["https://openalex.org/I185261750"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"David Duvenaud","raw_affiliation_strings":["University of Toronto, Canada"],"affiliations":[{"raw_affiliation_string":"University of Toronto, Canada","institution_ids":["https://openalex.org/I185261750"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029108294","display_name":"Dimitrios Vytiniotis","orcid":null},"institutions":[{"id":"https://openalex.org/I4210090411","display_name":"DeepMind (United Kingdom)","ror":"https://ror.org/00971b260","country_code":"GB","type":"funder","lineage":["https://openalex.org/I4210090411","https://openalex.org/I4210128969"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Dimitrios Vytiniotis","raw_affiliation_strings":["DeepMind, UK"],"affiliations":[{"raw_affiliation_string":"DeepMind, UK","institution_ids":["https://openalex.org/I4210090411"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5055832270","display_name":"Alexey Radul","orcid":"https://orcid.org/0000-0002-7251-4057"},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"funder","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Alexey Radul","raw_affiliation_strings":["Google Research, USA"],"affiliations":[{"raw_affiliation_string":"Google Research, USA","institution_ids":["https://openalex.org/I1291425158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101657686","display_name":"Matthew Johnson","orcid":"https://orcid.org/0000-0003-4349-1578"},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"funder","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Matthew J. Johnson","raw_affiliation_strings":["Google Research, USA"],"affiliations":[{"raw_affiliation_string":"Google Research, USA","institution_ids":["https://openalex.org/I1291425158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023577472","display_name":"Jonathan Ragan\u2010Kelley","orcid":"https://orcid.org/0000-0001-6243-9543"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"funder","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jonathan Ragan-Kelley","raw_affiliation_strings":["Massachusetts Institute of Technology, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5044804484","display_name":"Dougal Maclaurin","orcid":"https://orcid.org/0000-0003-0122-1377"},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"funder","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Dougal Maclaurin","raw_affiliation_strings":["Google Research, USA"],"affiliations":[{"raw_affiliation_string":"Google Research, USA","institution_ids":["https://openalex.org/I1291425158"]}]}],"institution_assertions":[],"countries_distinct_count":4,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":6.967,"has_fulltext":true,"fulltext_origin":"pdf","cited_by_count":31,"citation_normalized_percentile":{"value":0.999419,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":95,"max":96},"biblio":{"volume":"5","issue":"ICFP","first_page":"1","last_page":"29"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9999,"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.9999,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9992,"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/T10101","display_name":"Cloud Computing and Resource Management","score":0.9895,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/benchmark","display_name":"Benchmark (surveying)","score":0.5920798},{"id":"https://openalex.org/keywords/associative-property","display_name":"Associative property","score":0.57553744},{"id":"https://openalex.org/keywords/programming-style","display_name":"Programming style","score":0.49598226},{"id":"https://openalex.org/keywords/implicit-parallelism","display_name":"Implicit parallelism","score":0.47253087},{"id":"https://openalex.org/keywords/clarity","display_name":"CLARITY","score":0.41834807}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8562305},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.66636384},{"id":"https://openalex.org/C75165309","wikidata":"https://www.wikidata.org/wiki/Q2258979","display_name":"Search engine indexing","level":2,"score":0.61832994},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.5920798},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.58119285},{"id":"https://openalex.org/C159423971","wikidata":"https://www.wikidata.org/wiki/Q177251","display_name":"Associative property","level":2,"score":0.57553744},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.55467445},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.51997125},{"id":"https://openalex.org/C61483411","wikidata":"https://www.wikidata.org/wiki/Q3124522","display_name":"Data parallelism","level":3,"score":0.5012872},{"id":"https://openalex.org/C2776245389","wikidata":"https://www.wikidata.org/wiki/Q962139","display_name":"Programming style","level":2,"score":0.49598226},{"id":"https://openalex.org/C3543717","wikidata":"https://www.wikidata.org/wiki/Q6007302","display_name":"Implicit parallelism","level":4,"score":0.47253087},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.45362088},{"id":"https://openalex.org/C28719098","wikidata":"https://www.wikidata.org/wiki/Q44946","display_name":"Point (geometry)","level":2,"score":0.43777373},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.42751247},{"id":"https://openalex.org/C2777146004","wikidata":"https://www.wikidata.org/wiki/Q14949826","display_name":"CLARITY","level":2,"score":0.41834807},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.14047974},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.11881995},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C78458016","wikidata":"https://www.wikidata.org/wiki/Q840400","display_name":"Evolutionary biology","level":1,"score":0.0},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3473593","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3473593","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_indexed_in_scopus":true,"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},{"is_oa":true,"landing_page_url":"https://arxiv.org/abs/2104.05372","pdf_url":"https://arxiv.org/pdf/2104.05372","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_indexed_in_scopus":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":["Cornell University"],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3473593","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3473593","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_indexed_in_scopus":true,"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},"sustainable_development_goals":[{"display_name":"Peace, justice, and strong institutions","id":"https://metadata.un.org/sdg/16","score":0.46}],"grants":[],"datasets":[],"versions":[],"referenced_works_count":46,"referenced_works":["https://openalex.org/W1019939734","https://openalex.org/W1520071471","https://openalex.org/W1533682968","https://openalex.org/W1829244603","https://openalex.org/W1965256357","https://openalex.org/W1966377066","https://openalex.org/W2031070741","https://openalex.org/W2034761517","https://openalex.org/W2074802267","https://openalex.org/W2080592089","https://openalex.org/W2083310717","https://openalex.org/W2102976251","https://openalex.org/W2104958979","https://openalex.org/W2109375905","https://openalex.org/W2120575449","https://openalex.org/W2122339407","https://openalex.org/W2130363716","https://openalex.org/W2131916293","https://openalex.org/W2163496769","https://openalex.org/W2273440736","https://openalex.org/W2295174177","https://openalex.org/W2402144811","https://openalex.org/W2478429860","https://openalex.org/W2504869045","https://openalex.org/W2594730095","https://openalex.org/W2644985445","https://openalex.org/W2752862883","https://openalex.org/W2805566098","https://openalex.org/W2810610794","https://openalex.org/W2914196042","https://openalex.org/W2940737966","https://openalex.org/W2951882630","https://openalex.org/W2966295917","https://openalex.org/W2977371611","https://openalex.org/W2998790058","https://openalex.org/W3081404351","https://openalex.org/W3098220359","https://openalex.org/W3099878876","https://openalex.org/W3102564634","https://openalex.org/W3107145433","https://openalex.org/W3132222959","https://openalex.org/W3151489216","https://openalex.org/W4240226860","https://openalex.org/W4240382083","https://openalex.org/W4251637954","https://openalex.org/W97244619"],"related_works":["https://openalex.org/W74409296","https://openalex.org/W305742777","https://openalex.org/W2950520577","https://openalex.org/W2494130044","https://openalex.org/W2468095077","https://openalex.org/W2105992728","https://openalex.org/W2003935582","https://openalex.org/W1991844655","https://openalex.org/W1554644772","https://openalex.org/W1229628"],"abstract_inverted_index":{"We":[0,28,71],"present":[1],"a":[2,74,99],"novel":[3],"programming":[4,111],"language":[5],"design":[6],"that":[7,64,101,115],"attempts":[8],"to":[9,45,51,69,124],"combine":[10],"the":[11,20,108],"clarity":[12],"and":[13,22,82,113,118],"safety":[14],"of":[15,24,67,95],"high-level":[16],"functional":[17],"languages":[18],"with":[19,132],"efficiency":[21],"parallelism":[23],"low-level":[25],"numerical":[26],"languages.":[27],"treat":[29],"arrays":[30],"as":[31,43],"eagerly-memoized":[32],"functions":[33,68],"on":[34,47],"typed":[35,76],"index":[36],"sets,":[37],"allowing":[38],"abstract":[39],"function":[40],"manipulations,":[41],"such":[42],"currying,":[44],"work":[46],"arrays.":[48],"In":[49],"contrast":[50],"composing":[52],"primitive":[53],"bulk-array":[54],"operations,":[55],"we":[56,105],"argue":[57],"for":[58],"an":[59,87,128],"explicit":[60],"nested":[61],"indexing":[62],"style":[63,131],"mirrors":[65],"application":[66],"arguments.":[70],"also":[72],"introduce":[73],"fine-grained":[75],"effects":[77],"system":[78],"which":[79],"affords":[80],"concise":[81],"automatically-parallelized":[83],"in-place":[84,96],"updates.":[85],"Specifically,":[86],"associative":[88],"accumulation":[89],"effect":[90],"allows":[91,121],"reverse-mode":[92],"automatic":[93],"differentiation":[94],"updates":[97],"in":[98,127],"way":[100],"preserves":[102],"parallelism.":[103],"Empirically,":[104],"benchmark":[106],"against":[107],"Futhark":[109],"array":[110,122],"language,":[112],"demonstrate":[114],"aggressive":[116],"inlining":[117],"type-driven":[119],"compilation":[120],"programs":[123],"be":[125],"written":[126],"expressive,":[129],"\"pointful\"":[130],"little":[133],"performance":[134],"penalty.":[135]},"abstract_inverted_index_v3":null,"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W3195241200","counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":7},{"year":2023,"cited_by_count":14},{"year":2022,"cited_by_count":7},{"year":2021,"cited_by_count":2}],"updated_date":"2025-03-01T18:57:34.436756","created_date":"2021-08-30"}