{"id":"https://openalex.org/W4321496380","doi":"https://doi.org/10.1145/3579990.3580006","title":"Code Generation for In-Place Stencils","display_name":"Code Generation for In-Place Stencils","publication_year":2023,"publication_date":"2023-02-17","ids":{"openalex":"https://openalex.org/W4321496380","doi":"https://doi.org/10.1145/3579990.3580006"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/3579990.3580006","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"proceedings-article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":"https://hal.science/hal-04116904/document","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5063756747","display_name":"Mohamed Essadki","orcid":null},"institutions":[{"id":"https://openalex.org/I2801658355","display_name":"Office National d'\u00c9tudes et de Recherches A\u00e9rospatiales","ror":"https://ror.org/005y2ap84","country_code":"FR","type":"funder","lineage":["https://openalex.org/I2801658355"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Mohamed Essadki","raw_affiliation_strings":["ONERA, France"],"affiliations":[{"raw_affiliation_string":"ONERA, France","institution_ids":["https://openalex.org/I2801658355"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5108651358","display_name":"Bertrand Michel","orcid":null},"institutions":[{"id":"https://openalex.org/I2801658355","display_name":"Office National d'\u00c9tudes et de Recherches A\u00e9rospatiales","ror":"https://ror.org/005y2ap84","country_code":"FR","type":"funder","lineage":["https://openalex.org/I2801658355"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Bertrand Michel","raw_affiliation_strings":["ONERA, France"],"affiliations":[{"raw_affiliation_string":"ONERA, France","institution_ids":["https://openalex.org/I2801658355"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5033932368","display_name":"Bruno Maugars","orcid":"https://orcid.org/0000-0001-6709-9701"},"institutions":[{"id":"https://openalex.org/I2801658355","display_name":"Office National d'\u00c9tudes et de Recherches A\u00e9rospatiales","ror":"https://ror.org/005y2ap84","country_code":"FR","type":"funder","lineage":["https://openalex.org/I2801658355"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Bruno Maugars","raw_affiliation_strings":["ONERA, France"],"affiliations":[{"raw_affiliation_string":"ONERA, France","institution_ids":["https://openalex.org/I2801658355"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034245897","display_name":"Oleksandr Zinenko","orcid":"https://orcid.org/0000-0003-1978-0222"},"institutions":[],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Oleksandr Zinenko","raw_affiliation_strings":["Google Research [Paris] (France)"],"affiliations":[{"raw_affiliation_string":"Google Research [Paris] (France)","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5017292577","display_name":"Nicolas Vasilache","orcid":"https://orcid.org/0000-0002-4096-3325"},"institutions":[{"id":"https://openalex.org/I4210100430","display_name":"Google (Switzerland)","ror":"https://ror.org/014f9c269","country_code":"CH","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210100430","https://openalex.org/I4210128969"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Nicolas Vasilache","raw_affiliation_strings":["Google Switzerland (Switzerland)"],"affiliations":[{"raw_affiliation_string":"Google Switzerland (Switzerland)","institution_ids":["https://openalex.org/I4210100430"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5063162788","display_name":"Albert Cohen","orcid":"https://orcid.org/0000-0002-8866-5343"},"institutions":[],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Albert Cohen","raw_affiliation_strings":["Google Research [Paris] (France)"],"affiliations":[{"raw_affiliation_string":"Google Research [Paris] (France)","institution_ids":[]}]}],"institution_assertions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.055,"has_fulltext":true,"fulltext_origin":"pdf","cited_by_count":5,"citation_normalized_percentile":{"value":0.843218,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":90},"biblio":{"volume":null,"issue":null,"first_page":"2","last_page":"13"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9989,"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.9989,"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/T12303","display_name":"Tensor decomposition and applications","score":0.9865,"subfield":{"id":"https://openalex.org/subfields/2605","display_name":"Computational Mathematics"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10339","display_name":"Advanced Numerical Methods in Computational Mathematics","score":0.9648,"subfield":{"id":"https://openalex.org/subfields/2206","display_name":"Computational Mechanics"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/stencil","display_name":"Stencil","score":0.9402794},{"id":"https://openalex.org/keywords/solver","display_name":"Solver","score":0.76221},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.62875783},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.53159696}],"concepts":[{"id":"https://openalex.org/C76752949","wikidata":"https://www.wikidata.org/wiki/Q7607499","display_name":"Stencil","level":2,"score":0.9402794},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.764639},{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.76221},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.75314426},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.6393232},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.62875783},{"id":"https://openalex.org/C31487907","wikidata":"https://www.wikidata.org/wiki/Q1154597","display_name":"Polygon mesh","level":2,"score":0.5832175},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.57804555},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.5420455},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.53159696},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.46878967},{"id":"https://openalex.org/C159694833","wikidata":"https://www.wikidata.org/wiki/Q2321565","display_name":"Iterative method","level":2,"score":0.46565682},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.35662892},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.29468036},{"id":"https://openalex.org/C121684516","wikidata":"https://www.wikidata.org/wiki/Q7600677","display_name":"Computer graphics (images)","level":1,"score":0.20540032},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.12893167},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.080899715},{"id":"https://openalex.org/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"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/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/3579990.3580006","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},{"is_oa":true,"landing_page_url":"https://hal.science/hal-04116904","pdf_url":"https://hal.science/hal-04116904/document","source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://hal.science/hal-04116904","pdf_url":"https://hal.science/hal-04116904/document","source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":31,"referenced_works":["https://openalex.org/W1794500012","https://openalex.org/W1970141743","https://openalex.org/W1971111002","https://openalex.org/W1980380473","https://openalex.org/W1983427062","https://openalex.org/W2038481157","https://openalex.org/W2084917734","https://openalex.org/W2112482891","https://openalex.org/W2119609467","https://openalex.org/W2149127686","https://openalex.org/W2156272811","https://openalex.org/W2163343184","https://openalex.org/W2216523920","https://openalex.org/W2296218291","https://openalex.org/W2318529993","https://openalex.org/W2949967139","https://openalex.org/W2983923412","https://openalex.org/W3016220765","https://openalex.org/W3020936970","https://openalex.org/W3099022356","https://openalex.org/W3104566386","https://openalex.org/W3122286897","https://openalex.org/W3151489216","https://openalex.org/W3152824079","https://openalex.org/W4205624883","https://openalex.org/W4245037559","https://openalex.org/W4246166885","https://openalex.org/W4251637954","https://openalex.org/W4283464359","https://openalex.org/W4290648346","https://openalex.org/W4376562668"],"related_works":["https://openalex.org/W650988184","https://openalex.org/W60915090","https://openalex.org/W4321496380","https://openalex.org/W4321184925","https://openalex.org/W3105129168","https://openalex.org/W2255990315","https://openalex.org/W2162410319","https://openalex.org/W2161692994","https://openalex.org/W2137356287","https://openalex.org/W2025840053"],"abstract_inverted_index":{"Numerical":[0],"simulation":[1],"often":[2],"resorts":[3],"to":[4,107,118],"iterative":[5,54,85],"in-place":[6,64,86],"stencils":[7,23,55,65],"such":[8,22],"as":[9,57],"the":[10,35,58,61,79,96],"Gauss-Seidel":[11],"or":[12],"Successive":[13],"Overrelaxation":[14],"(SOR)":[15],"methods.":[16],"Writing":[17],"high":[18],"performance":[19],"implementations":[20],"of":[21,63],"requires":[24,66],"significant":[25],"effort":[26],"and":[27,52,104,111,127],"time;":[28],"it":[29],"also":[30,139],"involves":[31],"non-local":[32],"transformations":[33],"beyond":[34],"stencil":[36,143],"kernel":[37],"itself.":[38],"While":[39],"automated":[40],"code":[41,82],"generation":[42],"is":[43],"a":[44,90,120],"mature":[45],"technology":[46],"for":[47,84,124,145],"image":[48],"processing":[49],"stencils,":[50],"convolutions":[51],"out-of-place":[53],"(such":[56],"Jacobi":[59],"method),":[60],"optimization":[62],"manual":[67],"craftsmanship.":[68],"Building":[69],"on":[70],"recent":[71],"advances":[72],"in":[73,95],"tensor":[74,92,99],"compiler":[75,93],"construction,":[76],"we":[77],"propose":[78],"first":[80],"domain-specific":[81],"generator":[83,117],"stencils.":[87],"Starting":[88],"from":[89],"generic":[91],"implemented":[94],"MLIR":[97],"framework,":[98],"abstractions":[100],"are":[101],"incrementally":[102],"refined":[103],"lowered":[105],"down":[106],"parallel,":[108],"tiled,":[109],"fused":[110],"vectorized":[112],"code.":[113],"We":[114,138],"used":[115],"our":[116],"implement":[119],"realistic,":[121],"implicit":[122],"solver":[123],"structured":[125],"meshes,":[126],"demonstrate":[128],"results":[129],"competitive":[130],"with":[131,141],"an":[132],"industrial":[133],"computational":[134],"fluid":[135],"dynamics":[136],"framework.":[137],"compare":[140],"stand-alone":[142],"kernels":[144],"dense":[146],"tensors.":[147]},"abstract_inverted_index_v3":null,"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4321496380","counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":3}],"updated_date":"2025-03-28T22:31:06.572772","created_date":"2023-02-23"}