{"id":"https://openalex.org/W3139246295","doi":"https://doi.org/10.1109/cgo51591.2021.9370337","title":"Towards a Domain-Extensible Compiler: Optimizing an Image Processing Pipeline on Mobile CPUs","display_name":"Towards a Domain-Extensible Compiler: Optimizing an Image Processing Pipeline on Mobile CPUs","publication_year":2021,"publication_date":"2021-02-27","ids":{"openalex":"https://openalex.org/W3139246295","doi":"https://doi.org/10.1109/cgo51591.2021.9370337","mag":"3139246295"},"language":"en","primary_location":{"id":"doi:10.1109/cgo51591.2021.9370337","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo51591.2021.9370337","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","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/A5101638400","display_name":"Thomas K\u0153hler","orcid":"https://orcid.org/0000-0001-8461-8075"},"institutions":[{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Thomas Koehler","raw_affiliation_strings":["University of Glasgow, Scotland, UK"],"affiliations":[{"raw_affiliation_string":"University of Glasgow, Scotland, UK","institution_ids":["https://openalex.org/I7882870"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5016319844","display_name":"Michel Steuwer","orcid":"https://orcid.org/0000-0001-5048-0741"},"institutions":[{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Michel Steuwer","raw_affiliation_strings":["University of Glasgow, Scotland, UK"],"affiliations":[{"raw_affiliation_string":"University of Glasgow, Scotland, UK","institution_ids":["https://openalex.org/I7882870"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5101638400"],"corresponding_institution_ids":["https://openalex.org/I7882870"],"apc_list":null,"apc_paid":null,"fwci":1.4148,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.79445126,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"27","last_page":"38"},"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.9991999864578247,"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.9991999864578247,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9940999746322632,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9919000267982483,"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/computer-science","display_name":"Computer science","score":0.8511894345283508},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7487902641296387},{"id":"https://openalex.org/keywords/extensibility","display_name":"Extensibility","score":0.7049736380577087},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.669255256652832},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.4779622256755829},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.45879077911376953},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.43323901295661926},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3920365273952484},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3917842507362366},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.33767563104629517}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8511894345283508},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7487902641296387},{"id":"https://openalex.org/C32833848","wikidata":"https://www.wikidata.org/wiki/Q4115054","display_name":"Extensibility","level":2,"score":0.7049736380577087},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.669255256652832},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.4779622256755829},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.45879077911376953},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.43323901295661926},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3920365273952484},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3917842507362366},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.33767563104629517},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/cgo51591.2021.9370337","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo51591.2021.9370337","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.49000000953674316,"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":38,"referenced_works":["https://openalex.org/W1980208272","https://openalex.org/W1989988531","https://openalex.org/W1991592471","https://openalex.org/W1997978901","https://openalex.org/W2003798513","https://openalex.org/W2013031326","https://openalex.org/W2035430533","https://openalex.org/W2082352135","https://openalex.org/W2084917734","https://openalex.org/W2111308925","https://openalex.org/W2114929171","https://openalex.org/W2128298440","https://openalex.org/W2137238957","https://openalex.org/W2154078685","https://openalex.org/W2154786353","https://openalex.org/W2164106630","https://openalex.org/W2165324514","https://openalex.org/W2258220747","https://openalex.org/W2594730095","https://openalex.org/W2767023694","https://openalex.org/W2772612468","https://openalex.org/W2786320458","https://openalex.org/W2804032941","https://openalex.org/W2806891462","https://openalex.org/W2898442528","https://openalex.org/W2905135312","https://openalex.org/W2949967139","https://openalex.org/W3012365217","https://openalex.org/W3047091820","https://openalex.org/W3103903655","https://openalex.org/W3152199537","https://openalex.org/W3203568064","https://openalex.org/W4240382083","https://openalex.org/W4246028237","https://openalex.org/W4255653201","https://openalex.org/W4287826815","https://openalex.org/W6746066522","https://openalex.org/W6751349269"],"related_works":["https://openalex.org/W1948607442","https://openalex.org/W2044615423","https://openalex.org/W4247766898","https://openalex.org/W4244765761","https://openalex.org/W2361584951","https://openalex.org/W3004004161","https://openalex.org/W2365327041","https://openalex.org/W4225348249","https://openalex.org/W31122515","https://openalex.org/W2466086502"],"abstract_inverted_index":{"Halide":[0],"and":[1,42,143,168,206],"many":[2],"similar":[3],"projects":[4],"have":[5,105],"demonstrated":[6],"the":[7,63,121,136,150,189,193,197,221],"great":[8,73],"potential":[9],"of":[10,34,66,114,163],"domain":[11,54],"specific":[12,55],"optimizing":[13],"compilers.":[14,78],"They":[15],"enable":[16],"programs":[17],"to":[18,52,69,85,109,204,210,215],"be":[19],"expressed":[20,125],"at":[21],"a":[22,87,111],"convenient":[23],"high-level,":[24],"while":[25],"generating":[26],"high-performance":[27],"code":[28,190],"for":[29,57,71,75,183,192],"parallel":[30],"architectures.":[31],"As":[32],"domains":[33],"interest":[35],"expand":[36],"towards":[37],"deep":[38],"learning,":[39],"probabilistic":[40],"programming":[41],"beyond,":[43],"it":[44,49],"becomes":[45],"increasingly":[46],"clear":[47],"that":[48,104,130,156,188],"is":[50,161],"unsustainable":[51],"redesign":[53],"compilers":[56],"each":[58],"new":[59],"domain.":[60],"In":[61,79],"addition,":[62],"rapid":[64],"growth":[65],"hardware":[67],"architectures":[68],"optimize":[70],"poses":[72],"challenges":[74],"designing":[76],"these":[77],"this":[80,157],"paper,":[81],"we":[82],"show":[83,187],"how":[84],"extend":[86],"unifying":[88],"domain-extensible":[89,158],"compiler":[90,99,122,152,159,225],"with":[91],"domain-specific":[92],"as":[93,95,126],"well":[94],"hardware-specific":[96],"optimizations.":[97,172],"The":[98],"operates":[100],"on":[101,175],"generic":[102],"patterns":[103,142],"proven":[106],"flexible":[107],"enough":[108],"express":[110],"wide":[112],"range":[113],"computations.":[115],"Optimizations":[116],"are":[117,124,131,146],"not":[118],"hard-coded":[119],"into":[120,133],"but":[123],"user-defined":[127],"rewrite":[128],"rules":[129],"composed":[132],"strategies":[134,145],"controlling":[135],"optimization":[137,144],"process.":[138],"Crucially,":[139],"both":[140],"computational":[141],"extensible":[147],"without":[148],"modifying":[149],"core":[151],"implementation.":[153],"We":[154],"demonstrate":[155],"design":[160],"capable":[162],"expressing":[164],"image":[165,170,184,198,223],"processing":[166,171,185,199,224],"pipelines":[167],"well-known":[169],"Our":[173],"results":[174],"four":[176],"mobile":[177],"ARM":[178],"multi-core":[179],"CPUs,":[180],"often":[181],"used":[182],"tasks,":[186],"generated":[191],"Harris":[194],"operator":[195],"outperforms":[196],"library":[200],"OpenCV":[201],"by":[202],"up":[203,214],"16\u00d7":[205],"achieves":[207],"performance":[208],"close":[209],"-":[211,220],"or":[212],"even":[213],"1.4":[216],"\u00d7":[217],"better":[218],"than":[219],"state-of-the-art":[222],"Halide.":[226]},"counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":1}],"updated_date":"2026-04-17T18:11:37.981687","created_date":"2025-10-10T00:00:00"}
