{"id":"https://openalex.org/W1989988531","doi":"https://doi.org/10.1145/2185520.2185528","title":"Decoupling algorithms from schedules for easy optimization of image processing pipelines","display_name":"Decoupling algorithms from schedules for easy optimization of image processing pipelines","publication_year":2012,"publication_date":"2012-07-01","ids":{"openalex":"https://openalex.org/W1989988531","doi":"https://doi.org/10.1145/2185520.2185528","mag":"1989988531"},"language":"en","primary_location":{"id":"doi:10.1145/2185520.2185528","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2185520.2185528","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/2185520.2185528","source":{"id":"https://openalex.org/S185367456","display_name":"ACM Transactions on Graphics","issn_l":"0730-0301","issn":["0730-0301","1557-7368"],"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 Graphics","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/2185520.2185528","any_repository_has_fulltext":true},"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/I4405258931","display_name":"MIT Computer Science and Artificial Intelligence Laboratory","ror":"https://ror.org/01e85r662","country_code":"US","type":"facility","lineage":["https://openalex.org/I4405258931","https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jonathan Ragan-Kelley","raw_affiliation_strings":["MIT CSAIL"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"MIT CSAIL","institution_ids":["https://openalex.org/I4405258931"]}]},{"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/I4405258931","display_name":"MIT Computer Science and Artificial Intelligence Laboratory","ror":"https://ror.org/01e85r662","country_code":"US","type":"facility","lineage":["https://openalex.org/I4405258931","https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew Adams","raw_affiliation_strings":["MIT CSAIL"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"MIT CSAIL","institution_ids":["https://openalex.org/I4405258931"]}]},{"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","[Adobe.]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Adobe","institution_ids":["https://openalex.org/I1306409833"]},{"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"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Marc Levoy","raw_affiliation_strings":["Stanford University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University","institution_ids":["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":[{"id":"https://openalex.org/I4405258931","display_name":"MIT Computer Science and Artificial Intelligence Laboratory","ror":"https://ror.org/01e85r662","country_code":"US","type":"facility","lineage":["https://openalex.org/I4405258931","https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Saman Amarasinghe","raw_affiliation_strings":["MIT CSAIL"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"MIT CSAIL","institution_ids":["https://openalex.org/I4405258931"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5075155488","display_name":"Fr\u00e9do Durand","orcid":"https://orcid.org/0000-0001-9919-069X"},"institutions":[{"id":"https://openalex.org/I4405258931","display_name":"MIT Computer Science and Artificial Intelligence Laboratory","ror":"https://ror.org/01e85r662","country_code":"US","type":"facility","lineage":["https://openalex.org/I4405258931","https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Fr\u00e9do Durand","raw_affiliation_strings":["MIT CSAIL"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"MIT CSAIL","institution_ids":["https://openalex.org/I4405258931"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":16.8866,"has_fulltext":true,"cited_by_count":253,"citation_normalized_percentile":{"value":0.99366806,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":100},"biblio":{"volume":"31","issue":"4","first_page":"1","last_page":"12"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10036","display_name":"Advanced Neural Network Applications","score":0.9993000030517578,"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"}},"topics":[{"id":"https://openalex.org/T10036","display_name":"Advanced Neural Network Applications","score":0.9993000030517578,"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/T10052","display_name":"Medical Image Segmentation Techniques","score":0.9975000023841858,"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.9972000122070312,"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.8461191058158875},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5098351836204529},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4789365231990814},{"id":"https://openalex.org/keywords/software-portability","display_name":"Software portability","score":0.4740716516971588},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4708877205848694},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.461539089679718},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.4208194613456726},{"id":"https://openalex.org/keywords/simd","display_name":"SIMD","score":0.41822880506515503},{"id":"https://openalex.org/keywords/image-processing","display_name":"Image processing","score":0.4158307611942291},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.17994460463523865},{"id":"https://openalex.org/keywords/image","display_name":"Image (mathematics)","score":0.17975416779518127},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.13936230540275574}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8461191058158875},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5098351836204529},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4789365231990814},{"id":"https://openalex.org/C63000827","wikidata":"https://www.wikidata.org/wiki/Q3080428","display_name":"Software portability","level":2,"score":0.4740716516971588},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4708877205848694},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.461539089679718},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.4208194613456726},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.41822880506515503},{"id":"https://openalex.org/C9417928","wikidata":"https://www.wikidata.org/wiki/Q1070689","display_name":"Image processing","level":3,"score":0.4158307611942291},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.17994460463523865},{"id":"https://openalex.org/C115961682","wikidata":"https://www.wikidata.org/wiki/Q860623","display_name":"Image (mathematics)","level":2,"score":0.17975416779518127},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.13936230540275574},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2185520.2185528","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2185520.2185528","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/2185520.2185528","source":{"id":"https://openalex.org/S185367456","display_name":"ACM Transactions on Graphics","issn_l":"0730-0301","issn":["0730-0301","1557-7368"],"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 Graphics","raw_type":"journal-article"},{"id":"pmh:oai:dspace.mit.edu:1721.1/85942","is_oa":true,"landing_page_url":"http://hdl.handle.net/1721.1/85942","pdf_url":"https://dspace.mit.edu/bitstream/1721.1/85942/1/Amarasinghe_Decoupling%20algorithms.pdf","source":{"id":"https://openalex.org/S4306400425","display_name":"DSpace@MIT (Massachusetts Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I63966007","host_organization_name":"Massachusetts Institute of Technology","host_organization_lineage":["https://openalex.org/I63966007"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-sa","license_id":"https://openalex.org/licenses/cc-by-nc-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"MIT web domain","raw_type":"http://purl.org/eprint/type/ConferencePaper"}],"best_oa_location":{"id":"doi:10.1145/2185520.2185528","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2185520.2185528","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/2185520.2185528","source":{"id":"https://openalex.org/S185367456","display_name":"ACM Transactions on Graphics","issn_l":"0730-0301","issn":["0730-0301","1557-7368"],"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 Graphics","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3334388500","display_name":"PetaBricks: A Language and Compiler for Scalability and Robustness","funder_award_id":"0832997","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G5008510065","display_name":"III: Medium: Collaborative Research: Frankencamera - an open-source Camera for Research and Teaching in Computational Photography","funder_award_id":"0964218","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"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/G8229282195","display_name":null,"funder_award_id":"9.64E+19","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8370161556","display_name":"III: Medium: Collaborative Research: Frankencamera - an open-source Camera for Research and Teaching in Computational Photography","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/W1989988531.pdf","grobid_xml":"https://content.openalex.org/works/W1989988531.grobid-xml"},"referenced_works_count":26,"referenced_works":["https://openalex.org/W35738084","https://openalex.org/W567960075","https://openalex.org/W1562826660","https://openalex.org/W1979393293","https://openalex.org/W1993465480","https://openalex.org/W1995194116","https://openalex.org/W2013680239","https://openalex.org/W2017463942","https://openalex.org/W2032391783","https://openalex.org/W2036959650","https://openalex.org/W2055947235","https://openalex.org/W2065533005","https://openalex.org/W2067635581","https://openalex.org/W2085118703","https://openalex.org/W2104095591","https://openalex.org/W2126043703","https://openalex.org/W2134408405","https://openalex.org/W2136952590","https://openalex.org/W2162289995","https://openalex.org/W2294911930","https://openalex.org/W2912690953","https://openalex.org/W3138063419","https://openalex.org/W3139167831","https://openalex.org/W4241191626","https://openalex.org/W6616043677","https://openalex.org/W6696864383"],"related_works":["https://openalex.org/W2128640905","https://openalex.org/W2011460173","https://openalex.org/W2021092055","https://openalex.org/W2162270818","https://openalex.org/W3037500023","https://openalex.org/W650988184","https://openalex.org/W2162410319","https://openalex.org/W2137356287","https://openalex.org/W4321184925","https://openalex.org/W4310506228"],"abstract_inverted_index":{"Using":[0],"existing":[1],"programming":[2],"tools,":[3],"writing":[4],"high-performance":[5,77],"image":[6,150,201],"processing":[7,151],"code":[8,80],"requires":[9],"sacrificing":[10,79],"readability,":[11],"portability,":[12],"and":[13,34,59,89,161,167,176,200,212],"modularity.":[14],"We":[15,39,61,137,180],"argue":[16],"that":[17,69,182],"this":[18,142],"is":[19],"a":[20,63,146,189],"consequence":[21],"of":[22,37,52,110,141,148],"conflating":[23],"what":[24],"computations":[25],"define":[26],"the":[27,35,47,71,85,118,122,134,139,193],"algorithm":[28,72,86],",":[29,49],"with":[30,99],"decisions":[31],"about":[32],"storage":[33,102],"order":[36],"computation.":[38],"refer":[40],"to":[41,127],"these":[42],"latter":[43],"two":[44],"concerns":[45],"as":[46,188],"schedule":[48],"including":[50],"choices":[51],"tiling,":[53],"fusion,":[54],"recomputation":[55],"vs.":[56],"storage,":[57],"vectorization,":[58],"parallelism.":[60],"propose":[62],"representation":[64,143],"for":[65,117,164],"feed-forward":[66],"imaging":[67],"pipelines":[68,107],"separates":[70],"from":[73],"its":[74],"schedule,":[75],"enabling":[76],"without":[78,132],"clarity.":[81],"This":[82],"decoupling":[83],"simplifies":[84],"specification:":[87],"images":[88],"intermediate":[90],"buffers":[91],"become":[92],"functions":[93,120],"over":[94],"an":[95,154],"infinite":[96],"integer":[97],"domain,":[98],"no":[100],"explicit":[101],"or":[103],"boundary":[104],"conditions.":[105],"Imaging":[106],"are":[108,209],"compositions":[109],"functions.":[111],"Programmers":[112],"separately":[113],"specify":[114],"scheduling":[115],"strategies":[116],"various":[119],"composing":[121],"algorithm,":[123],"which":[124],"allows":[125],"them":[126,163],"efficiently":[128],"explore":[129],"different":[130],"optimizations":[131],"changing":[133],"algorithmic":[135],"code.":[136],"demonstrate":[138,181],"power":[140],"by":[144],"expressing":[145],"range":[147],"recent":[149],"applications":[152],"in":[153,206],"embedded":[155],"domain":[156],"specific":[157],"language":[158,208],"called":[159],"Halide,":[160],"compiling":[162],"ARM,":[165],"x86,":[166],"GPUs.":[168],"Our":[169],"compiler":[170],"targets":[171],"SIMD":[172],"units,":[173],"multiple":[174],"cores,":[175],"complex":[177],"memory":[178],"hierarchies.":[179],"it":[183],"can":[184],"handle":[185],"algorithms":[186,204],"such":[187],"camera":[190],"raw":[191],"pipeline,":[192],"bilateral":[194],"grid,":[195],"fast":[196],"local":[197],"Laplacian":[198],"filtering,":[199],"segmentation.":[202],"The":[203],"expressed":[205],"our":[207],"both":[210],"shorter":[211],"faster":[213],"than":[214],"state-of-the-art":[215],"implementations.":[216]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":7},{"year":2023,"cited_by_count":15},{"year":2022,"cited_by_count":13},{"year":2021,"cited_by_count":28},{"year":2020,"cited_by_count":24},{"year":2019,"cited_by_count":27},{"year":2018,"cited_by_count":23},{"year":2017,"cited_by_count":11},{"year":2016,"cited_by_count":37},{"year":2015,"cited_by_count":19},{"year":2014,"cited_by_count":30},{"year":2013,"cited_by_count":12},{"year":2012,"cited_by_count":1}],"updated_date":"2026-07-14T08:27:34.040176","created_date":"2025-10-10T00:00:00"}
