{"id":"https://openalex.org/W2997238241","doi":"https://doi.org/10.1145/3372266","title":"Declarative Loop Tactics for Domain-specific Optimization","display_name":"Declarative Loop Tactics for Domain-specific Optimization","publication_year":2019,"publication_date":"2019-12-26","ids":{"openalex":"https://openalex.org/W2997238241","doi":"https://doi.org/10.1145/3372266","mag":"2997238241"},"language":"en","primary_location":{"id":"doi:10.1145/3372266","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3372266","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3372266","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"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 Architecture and Code Optimization","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/3372266","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5051728690","display_name":"Lorenzo Chelini","orcid":"https://orcid.org/0000-0001-8539-2397"},"institutions":[{"id":"https://openalex.org/I4210126328","display_name":"IBM Research - Zurich","ror":"https://ror.org/02js37d36","country_code":"CH","type":"facility","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210114115","https://openalex.org/I4210126328"]},{"id":"https://openalex.org/I83019370","display_name":"Eindhoven University of Technology","ror":"https://ror.org/02c2kyt77","country_code":"NL","type":"education","lineage":["https://openalex.org/I83019370"]}],"countries":["CH","NL"],"is_corresponding":true,"raw_author_name":"Lorenzo Chelini","raw_affiliation_strings":["Eindhoven University of Technology and IBM Research Zurich","TU/e - Eindhoven University of Technology [Eindhoven] (Den Dolech 2 5612 AZ Eindhoven - Netherlands)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Eindhoven University of Technology and IBM Research Zurich","institution_ids":["https://openalex.org/I4210126328","https://openalex.org/I83019370"]},{"raw_affiliation_string":"TU/e - Eindhoven University of Technology [Eindhoven] (Den Dolech 2 5612 AZ Eindhoven - Netherlands)","institution_ids":["https://openalex.org/I83019370"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034245897","display_name":"Oleksandr Zinenko","orcid":"https://orcid.org/0000-0003-1978-0222"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Oleksandr Zinenko","raw_affiliation_strings":["Inria"],"raw_orcid":"https://orcid.org/0000-0003-1978-0222","affiliations":[{"raw_affiliation_string":"Inria","institution_ids":["https://openalex.org/I1326498283"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5055618037","display_name":"Tobias Grosser","orcid":"https://orcid.org/0000-0003-3874-6003"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Tobias Grosser","raw_affiliation_strings":["ETH Zurich"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ETH Zurich","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5081768631","display_name":"Henk Corporaal","orcid":"https://orcid.org/0000-0003-4506-5732"},"institutions":[{"id":"https://openalex.org/I83019370","display_name":"Eindhoven University of Technology","ror":"https://ror.org/02c2kyt77","country_code":"NL","type":"education","lineage":["https://openalex.org/I83019370"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Henk Corporaal","raw_affiliation_strings":["Eindhoven University of Technology","TU/e - Eindhoven University of Technology [Eindhoven] (Den Dolech 2 5612 AZ Eindhoven - Netherlands)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Eindhoven University of Technology","institution_ids":["https://openalex.org/I83019370"]},{"raw_affiliation_string":"TU/e - Eindhoven University of Technology [Eindhoven] (Den Dolech 2 5612 AZ Eindhoven - Netherlands)","institution_ids":["https://openalex.org/I83019370"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5051728690"],"corresponding_institution_ids":["https://openalex.org/I4210126328","https://openalex.org/I83019370"],"apc_list":null,"apc_paid":null,"fwci":2.9602,"has_fulltext":true,"cited_by_count":18,"citation_normalized_percentile":{"value":0.91487205,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"16","issue":"4","first_page":"1","last_page":"25"},"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.9994000196456909,"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.9994000196456909,"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.9983000159263611,"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/T10142","display_name":"Formal Methods in Verification","score":0.9980999827384949,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.883553683757782},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8431854248046875},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.634324312210083},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6246258616447449},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.5546214580535889},{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.5475413203239441},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.5453826785087585},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.5077427625656128},{"id":"https://openalex.org/keywords/loop-fusion","display_name":"Loop fusion","score":0.4955984354019165},{"id":"https://openalex.org/keywords/loop-optimization","display_name":"Loop optimization","score":0.48762670159339905},{"id":"https://openalex.org/keywords/loop-tiling","display_name":"Loop tiling","score":0.473099023103714},{"id":"https://openalex.org/keywords/loop-unrolling","display_name":"Loop unrolling","score":0.45228904485702515},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.43654417991638184},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4364446997642517},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3642899990081787},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1231435239315033}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.883553683757782},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8431854248046875},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.634324312210083},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6246258616447449},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.5546214580535889},{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.5475413203239441},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.5453826785087585},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.5077427625656128},{"id":"https://openalex.org/C82653869","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fusion","level":3,"score":0.4955984354019165},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.48762670159339905},{"id":"https://openalex.org/C11799548","wikidata":"https://www.wikidata.org/wiki/Q6675847","display_name":"Loop tiling","level":3,"score":0.473099023103714},{"id":"https://openalex.org/C76970557","wikidata":"https://www.wikidata.org/wiki/Q1869750","display_name":"Loop unrolling","level":3,"score":0.45228904485702515},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.43654417991638184},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4364446997642517},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3642899990081787},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1231435239315033},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"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/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3372266","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3372266","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3372266","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"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 Architecture and Code Optimization","raw_type":"journal-article"},{"id":"pmh:oai:pure.tue.nl:openaire/0bd3fadd-b3bf-4211-a6b7-521440b9ca2c","is_oa":true,"landing_page_url":"https://research.tue.nl/en/publications/0bd3fadd-b3bf-4211-a6b7-521440b9ca2c","pdf_url":null,"source":{"id":"https://openalex.org/S4406922641","display_name":"TU/e Research Portal","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Chelini, L, Zinenko, O, Grosser, T & Corporaal, H 2019, 'Declarative loop tactics for domain-specific optimization', ACM Transactions on Architecture and Code Optimization, vol. 16, no. 4, 55. https://doi.org/10.1145/3372266","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:HAL:hal-02458680v1","is_oa":false,"landing_page_url":"https://inria.hal.science/hal-02458680","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ACM Transactions on Architecture and Code Optimization, 2019, 16 (4), pp.4:1-25. &#x27E8;10.1145/3372266&#x27E9;","raw_type":"Journal articles"}],"best_oa_location":{"id":"doi:10.1145/3372266","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3372266","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3372266","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"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 Architecture and Code Optimization","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G5526965977","display_name":null,"funder_award_id":"676240","funder_id":"https://openalex.org/F4320335254","funder_display_name":"Horizon 2020"},{"id":"https://openalex.org/G6228799060","display_name":null,"funder_award_id":"676240","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"},{"id":"https://openalex.org/G778160037","display_name":"Computation-in-memory architecture based on resistive devices","funder_award_id":"780215","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"},{"id":"https://openalex.org/G7842005466","display_name":null,"funder_award_id":"Horizon 2020","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320308737","display_name":"Facebook","ror":"https://ror.org/01zbnvs85"},{"id":"https://openalex.org/F4320316514","display_name":"Arm","ror":"https://ror.org/04mmhzs81"},{"id":"https://openalex.org/F4320320300","display_name":"European Commission","ror":"https://ror.org/00k4n6c32"},{"id":"https://openalex.org/F4320320924","display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","ror":"https://ror.org/00yjd3n13"},{"id":"https://openalex.org/F4320335254","display_name":"Horizon 2020","ror":null}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2997238241.pdf","grobid_xml":"https://content.openalex.org/works/W2997238241.grobid-xml"},"referenced_works_count":37,"referenced_works":["https://openalex.org/W1749979338","https://openalex.org/W1975001341","https://openalex.org/W1983413115","https://openalex.org/W1997186449","https://openalex.org/W1997255248","https://openalex.org/W2010714123","https://openalex.org/W2010920360","https://openalex.org/W2055312318","https://openalex.org/W2060221201","https://openalex.org/W2071110673","https://openalex.org/W2075073133","https://openalex.org/W2078314687","https://openalex.org/W2102976251","https://openalex.org/W2120628806","https://openalex.org/W2125872407","https://openalex.org/W2143609451","https://openalex.org/W2143932292","https://openalex.org/W2156619646","https://openalex.org/W2161813558","https://openalex.org/W2164003586","https://openalex.org/W2291192259","https://openalex.org/W2516525699","https://openalex.org/W2788464413","https://openalex.org/W2891477368","https://openalex.org/W2921932275","https://openalex.org/W2955053021","https://openalex.org/W3020940081","https://openalex.org/W3083317526","https://openalex.org/W3121554115","https://openalex.org/W3151489216","https://openalex.org/W4235662649","https://openalex.org/W4236116297","https://openalex.org/W4241524407","https://openalex.org/W4246500121","https://openalex.org/W4247176905","https://openalex.org/W4255653201","https://openalex.org/W6904045323"],"related_works":["https://openalex.org/W2040522199","https://openalex.org/W4254171597","https://openalex.org/W2122418911","https://openalex.org/W4251798485","https://openalex.org/W2340721088","https://openalex.org/W4232588022","https://openalex.org/W2017719803","https://openalex.org/W2119560736","https://openalex.org/W2727330431","https://openalex.org/W1993227264"],"abstract_inverted_index":{"Increasingly":[0],"complex":[1],"hardware":[2],"makes":[3],"the":[4,57,151,158],"design":[5],"of":[6,25,36,106,124,160],"effective":[7],"compilers":[8],"difficult.":[9],"To":[10],"reduce":[11,150],"this":[12],"problem,":[13],"we":[14,69,112,145],"introduce":[15],"Declarative":[16,91],"Loop":[17,92],"Tactics":[18,93,95],",":[19],"which":[20,55],"is":[21,42],"a":[22,37,45,122,141,167],"novel":[23],"framework":[24,41],"composable":[26,125],"program":[27,34],"transformations":[28,126],"based":[29,43],"on":[30,44],"an":[31],"internal":[32],"tree-like":[33],"representation":[35],"polyhedral":[38],"compiler.":[39,170],"The":[40],"declarative":[46],"C++":[47],"API":[48],"built":[49],"around":[50],"easy-to-program":[51],"matchers":[52,66],"and":[53,67,73,82,85,109,155],"builders,":[54,68],"provide":[56],"foundation":[58],"to":[59,101,129,135,149,156],"develop":[60],"loop":[61,79],"optimization":[62],"strategies.":[63],"Using":[64],"our":[65,147],"express":[70,117],"computational":[71,143],"patterns":[72],"core":[74],"building":[75],"blocks,":[76],"such":[77],"as":[78,121],"tiling,":[80],"fusion,":[81],"data-layout":[83],"transformations,":[84],"compose":[86],"them":[87],"into":[88],"algorithm-specific":[89],"optimizations.":[90],"(Loop":[94],"for":[96,140,153],"short)":[97],"can":[98,116,163],"be":[99,164],"applied":[100],"many":[102],"domains.":[103],"For":[104],"two":[105],"them,":[107],"stencils":[108],"linear":[110],"algebra,":[111],"show":[113],"how":[114],"developers":[115,134],"sophisticated":[118],"domain-specific":[119],"optimizations":[120,139,161],"set":[123],"or":[127],"calls":[128],"optimized":[130],"libraries.":[131],"By":[132],"allowing":[133],"add":[136],"highly":[137],"customized":[138],"given":[142],"pattern,":[144],"expect":[146],"approach":[148],"need":[152],"DSLs":[154],"extend":[157],"range":[159],"that":[162],"performed":[165],"by":[166],"current":[168],"general-purpose":[169]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":7},{"year":2020,"cited_by_count":4}],"updated_date":"2026-05-19T08:33:51.333923","created_date":"2025-10-10T00:00:00"}
