{"id":"https://openalex.org/W2780077279","doi":"https://doi.org/10.1145/3150211","title":"Halide","display_name":"Halide","publication_year":2017,"publication_date":"2017-12-27","ids":{"openalex":"https://openalex.org/W2780077279","doi":"https://doi.org/10.1145/3150211","mag":"2780077279"},"language":"en","primary_location":{"id":"doi:10.1145/3150211","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3150211","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3150211&type=pdf","source":{"id":"https://openalex.org/S103482838","display_name":"Communications of the ACM","issn_l":"0001-0782","issn":["0001-0782","1557-7317"],"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":"Communications of the ACM","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=3150211&type=pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5023577472","display_name":"Jonathan Ragan\u2010Kelley","orcid":"https://orcid.org/0000-0001-6243-9543"},"institutions":[{"id":"https://openalex.org/I134446601","display_name":"Berkeley College","ror":"https://ror.org/02xewxa75","country_code":"US","type":"education","lineage":["https://openalex.org/I134446601"]},{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Jonathan Ragan-Kelley","raw_affiliation_strings":["UC Berkeley"],"affiliations":[{"raw_affiliation_string":"UC Berkeley","institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5082293572","display_name":"Andrew Adams","orcid":"https://orcid.org/0000-0001-8925-9956"},"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":"Andrew Adams","raw_affiliation_strings":["Google"],"affiliations":[{"raw_affiliation_string":"Google","institution_ids":["https://openalex.org/I1291425158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5057869975","display_name":"Dillon Sharlet","orcid":"https://orcid.org/0000-0002-7118-7576"},"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":"Dillon Sharlet","raw_affiliation_strings":["Google"],"affiliations":[{"raw_affiliation_string":"Google","institution_ids":["https://openalex.org/I1291425158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5083898813","display_name":"Connelly Barnes","orcid":null},"institutions":[{"id":"https://openalex.org/I51556381","display_name":"University of Virginia","ror":"https://ror.org/0153tk833","country_code":"US","type":"education","lineage":["https://openalex.org/I51556381"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Connelly Barnes","raw_affiliation_strings":["University of Virginia"],"affiliations":[{"raw_affiliation_string":"University of Virginia","institution_ids":["https://openalex.org/I51556381"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5087205270","display_name":"Sylvain Paris","orcid":null},"institutions":[{"id":"https://openalex.org/I1306409833","display_name":"Adobe Systems (United States)","ror":"https://ror.org/059tvcg64","country_code":"US","type":"company","lineage":["https://openalex.org/I1306409833"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sylvain Paris","raw_affiliation_strings":["Adobe"],"affiliations":[{"raw_affiliation_string":"Adobe","institution_ids":["https://openalex.org/I1306409833"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5108804931","display_name":"Marc Levoy","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]},{"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":"Marc Levoy","raw_affiliation_strings":["Stanford University and Google"],"affiliations":[{"raw_affiliation_string":"Stanford University and Google","institution_ids":["https://openalex.org/I1291425158","https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5046791216","display_name":"Saman Amarasinghe","orcid":"https://orcid.org/0000-0002-7231-7643"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Saman Amarasinghe","raw_affiliation_strings":["MIT CSAIL"],"affiliations":[{"raw_affiliation_string":"MIT CSAIL","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5075155488","display_name":"Fr\u00e9do Durand","orcid":"https://orcid.org/0000-0001-9919-069X"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Fr\u00e9do Durand","raw_affiliation_strings":["MIT CSAIL"],"affiliations":[{"raw_affiliation_string":"MIT CSAIL","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":8,"corresponding_author_ids":["https://openalex.org/A5023577472"],"corresponding_institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"],"apc_list":null,"apc_paid":null,"fwci":6.7019,"has_fulltext":true,"cited_by_count":105,"citation_normalized_percentile":{"value":0.97781649,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":100},"biblio":{"volume":"61","issue":"1","first_page":"106","last_page":"115"},"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.9998000264167786,"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.9998000264167786,"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/T10036","display_name":"Advanced Neural Network Applications","score":0.9958000183105469,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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/T10627","display_name":"Advanced Image and Video Retrieval Techniques","score":0.9950000047683716,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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.8702117204666138},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6160174608230591},{"id":"https://openalex.org/keywords/schedule","display_name":"Schedule","score":0.562838077545166},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5448867678642273},{"id":"https://openalex.org/keywords/software-portability","display_name":"Software portability","score":0.5162060856819153},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.4596931040287018},{"id":"https://openalex.org/keywords/stream-processing","display_name":"Stream processing","score":0.4522453248500824},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4115602374076843},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3277294635772705},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.09243372082710266}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8702117204666138},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6160174608230591},{"id":"https://openalex.org/C68387754","wikidata":"https://www.wikidata.org/wiki/Q7271585","display_name":"Schedule","level":2,"score":0.562838077545166},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5448867678642273},{"id":"https://openalex.org/C63000827","wikidata":"https://www.wikidata.org/wiki/Q3080428","display_name":"Software portability","level":2,"score":0.5162060856819153},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.4596931040287018},{"id":"https://openalex.org/C107027933","wikidata":"https://www.wikidata.org/wiki/Q2006448","display_name":"Stream processing","level":2,"score":0.4522453248500824},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4115602374076843},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3277294635772705},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.09243372082710266},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3150211","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3150211","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3150211&type=pdf","source":{"id":"https://openalex.org/S103482838","display_name":"Communications of the ACM","issn_l":"0001-0782","issn":["0001-0782","1557-7317"],"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":"Communications of the ACM","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3150211","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3150211","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3150211&type=pdf","source":{"id":"https://openalex.org/S103482838","display_name":"Communications of the ACM","issn_l":"0001-0782","issn":["0001-0782","1557-7317"],"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":"Communications of the ACM","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1065316766","display_name":null,"funder_award_id":"Award","funder_id":"https://openalex.org/F4320306084","funder_display_name":"U.S. Department of Energy"},{"id":"https://openalex.org/G5723975421","display_name":null,"funder_award_id":"DE-SC0005288","funder_id":"https://openalex.org/F4320306084","funder_display_name":"U.S. Department of Energy"},{"id":"https://openalex.org/G8370161556","display_name":null,"funder_award_id":"0964004","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"},{"id":"https://openalex.org/F4320306084","display_name":"U.S. Department of Energy","ror":"https://ror.org/01bj3aw27"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2780077279.pdf","grobid_xml":"https://content.openalex.org/works/W2780077279.grobid-xml"},"referenced_works_count":25,"referenced_works":["https://openalex.org/W567960075","https://openalex.org/W1523847271","https://openalex.org/W1547909858","https://openalex.org/W1965387308","https://openalex.org/W1989988531","https://openalex.org/W2032391783","https://openalex.org/W2036959650","https://openalex.org/W2049890071","https://openalex.org/W2055312318","https://openalex.org/W2084917734","https://openalex.org/W2085118703","https://openalex.org/W2090409324","https://openalex.org/W2095663349","https://openalex.org/W2102182691","https://openalex.org/W2108600626","https://openalex.org/W2126043703","https://openalex.org/W2134408405","https://openalex.org/W2136952590","https://openalex.org/W2161790807","https://openalex.org/W2162289995","https://openalex.org/W2471164860","https://openalex.org/W2552290192","https://openalex.org/W2594003755","https://openalex.org/W3139167831","https://openalex.org/W4254778071"],"related_works":["https://openalex.org/W107105315","https://openalex.org/W2128640905","https://openalex.org/W2011460173","https://openalex.org/W2021092055","https://openalex.org/W2111416043","https://openalex.org/W4243399827","https://openalex.org/W2016731656","https://openalex.org/W2965891118","https://openalex.org/W2012174814","https://openalex.org/W2011993705"],"abstract_inverted_index":{"Writing":[0],"high-performance":[1,97],"code":[2,100,275],"on":[3],"modern":[4],"machines":[5],"requires":[6,101],"not":[7],"just":[8],"locally":[9],"optimizing":[10],"inner":[11],"loops,":[12],"but":[13],"globally":[14,79,176],"reorganizing":[15],"computations":[16,118],"to":[17,30,50,59,161,197,220,273,276],"exploit":[18],"parallelism":[19,82],"and":[20,26,56,60,77,83,105,127,211,231,243,256,282],"locality---doing":[21],"things":[22],"such":[23],"as":[24],"tiling":[25],"blocking":[27],"whole":[28],"pipelines":[29],"fit":[31],"in":[32,224],"cache.":[33],"This":[34],"is":[35,85,111,194,217],"especially":[36],"true":[37],"for":[38,81,143,180,237,259],"image":[39,98,144,245],"processing":[40,99,145,288],"pipelines,":[41,146],"where":[42],"individual":[43],"stages":[44],"do":[45,221],"much":[46],"too":[47],"little":[48],"work":[49],"amortize":[51],"the":[52,67,117,120,128,135,151,159],"cost":[53],"of":[54,74,89,130,166,191,207,229,271,278,280,284,286,290],"loading":[55],"storing":[57],"results":[58],"from":[61,153,248],"off-chip":[62],"memory.":[63],"As":[64],"a":[65,71,75,139,167,175,185,189,226,249],"result,":[66],"performance":[68],"difference":[69],"between":[70],"naive":[72],"implementation":[73],"pipeline":[76],"one":[78],"optimized":[80],"locality":[84],"often":[86,223],"an":[87,181],"order":[88,129],"magnitude.":[90],"However,":[91],"using":[92],"existing":[93],"programming":[94,114,141],"tools,":[95],"writing":[96],"sacrificing":[102],"simplicity,":[103],"portability,":[104],"modularity.":[106],"We":[107,137],"argue":[108],"that":[109,149,200],"this":[110],"because":[112],"traditional":[113],"models":[115,188],"conflate":[116],"defining":[119],"algorithm":[121,152],"with":[122],"decisions":[123],"about":[124],"intermediate":[125],"storage":[126],"computation,":[131],"which":[132,193,264],"we":[133],"call":[134],"schedule.":[136,155,186],"propose":[138],"new":[140],"language":[142],"called":[147],"Halide,":[148],"separates":[150],"its":[154],"Programmers":[156],"can":[157],"change":[158],"schedule":[160],"express":[162],"many":[163,208],"possible":[164],"organizations":[165,199],"single":[168,250],"algorithm.":[169,251],"The":[170],"Halide":[171,187,252],"compiler":[172],"then":[173],"synthesizes":[174],"combined":[177],"loop":[178],"nest":[179],"entire":[182],"algorithm,":[183],"given":[184],"space":[190],"schedules":[192],"expressive":[195],"enough":[196,219],"describe":[198],"match":[201],"or":[202],"outperform":[203],"state-of-the-art":[204],"hand-written":[205],"implementations":[206,236],"computational":[209],"photography":[210],"computer":[212],"vision":[213],"algorithms.":[214],"Its":[215],"model":[216],"simple":[218],"so":[222],"only":[225],"few":[227],"lines":[228],"code,":[230],"small":[232],"changes":[233],"generate":[234],"efficient":[235],"x86,":[238],"ARM,":[239],"Graphics":[240],"Processors":[241],"(GPUs),":[242],"specialized":[244],"processors,":[246],"all":[247],"has":[253,266],"been":[254,267],"public":[255],"open":[257],"source":[258],"over":[260],"four":[261],"years,":[262],"during":[263],"it":[265],"used":[268],"by":[269],"hundreds":[270,283],"programmers":[272],"deploy":[274],"tens":[277],"thousands":[279],"servers":[281],"millions":[285],"phones,":[287],"billions":[289],"images":[291],"every":[292],"day.":[293]},"counts_by_year":[{"year":2026,"cited_by_count":4},{"year":2025,"cited_by_count":10},{"year":2024,"cited_by_count":18},{"year":2023,"cited_by_count":15},{"year":2022,"cited_by_count":11},{"year":2021,"cited_by_count":18},{"year":2020,"cited_by_count":12},{"year":2019,"cited_by_count":14},{"year":2018,"cited_by_count":3}],"updated_date":"2026-03-13T16:22:10.518609","created_date":"2018-01-05T00:00:00"}
