{"id":"https://openalex.org/W1967264375","doi":"https://doi.org/10.1145/1034774.1034777","title":"Automatic tiling of iterative stencil loops","display_name":"Automatic tiling of iterative stencil loops","publication_year":2004,"publication_date":"2004-11-01","ids":{"openalex":"https://openalex.org/W1967264375","doi":"https://doi.org/10.1145/1034774.1034777","mag":"1967264375"},"language":"en","primary_location":{"id":"doi:10.1145/1034774.1034777","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1034774.1034777","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1034774.1034777","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"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 Programming Languages and Systems","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/1034774.1034777","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5100337918","display_name":"Zhiyuan Li","orcid":"https://orcid.org/0000-0001-5527-8745"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Zhiyuan Li","raw_affiliation_strings":["Purdue University, West Lafayette, IN"],"affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, IN","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5110814145","display_name":"Yonghong Song","orcid":"https://orcid.org/0000-0001-5978-3781"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yonghong Song","raw_affiliation_strings":["Purdue University, West Lafayette, IN"],"affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, IN","institution_ids":["https://openalex.org/I219193219"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5100337918"],"corresponding_institution_ids":["https://openalex.org/I219193219"],"apc_list":null,"apc_paid":null,"fwci":1.8543,"has_fulltext":true,"cited_by_count":65,"citation_normalized_percentile":{"value":0.84347507,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"26","issue":"6","first_page":"975","last_page":"1028"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9991000294685364,"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/T12810","display_name":"Real-time simulation and control systems","score":0.9980000257492065,"subfield":{"id":"https://openalex.org/subfields/2207","display_name":"Control and Systems Engineering"},"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/computer-science","display_name":"Computer science","score":0.8475735187530518},{"id":"https://openalex.org/keywords/loop-tiling","display_name":"Loop tiling","score":0.73984295129776},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.7221662998199463},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6972160935401917},{"id":"https://openalex.org/keywords/stencil","display_name":"Stencil","score":0.6863626837730408},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.6048060655593872},{"id":"https://openalex.org/keywords/loop-optimization","display_name":"Loop optimization","score":0.5770094394683838},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5752133727073669},{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.5278013944625854},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.5148941278457642},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4585660696029663},{"id":"https://openalex.org/keywords/inner-loop","display_name":"Inner loop","score":0.4478241503238678},{"id":"https://openalex.org/keywords/skew","display_name":"Skew","score":0.44264355301856995},{"id":"https://openalex.org/keywords/loop-fission","display_name":"Loop fission","score":0.42761823534965515},{"id":"https://openalex.org/keywords/bottleneck","display_name":"Bottleneck","score":0.4167855381965637},{"id":"https://openalex.org/keywords/loop-unrolling","display_name":"Loop unrolling","score":0.4101468324661255},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.40734654664993286},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.23406827449798584},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.09310752153396606}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8475735187530518},{"id":"https://openalex.org/C11799548","wikidata":"https://www.wikidata.org/wiki/Q6675847","display_name":"Loop tiling","level":3,"score":0.73984295129776},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.7221662998199463},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6972160935401917},{"id":"https://openalex.org/C76752949","wikidata":"https://www.wikidata.org/wiki/Q7607499","display_name":"Stencil","level":2,"score":0.6863626837730408},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.6048060655593872},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.5770094394683838},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5752133727073669},{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.5278013944625854},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.5148941278457642},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4585660696029663},{"id":"https://openalex.org/C58716799","wikidata":"https://www.wikidata.org/wiki/Q6035648","display_name":"Inner loop","level":3,"score":0.4478241503238678},{"id":"https://openalex.org/C43711488","wikidata":"https://www.wikidata.org/wiki/Q7534783","display_name":"Skew","level":2,"score":0.44264355301856995},{"id":"https://openalex.org/C134718785","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fission","level":3,"score":0.42761823534965515},{"id":"https://openalex.org/C2780513914","wikidata":"https://www.wikidata.org/wiki/Q18210350","display_name":"Bottleneck","level":2,"score":0.4167855381965637},{"id":"https://openalex.org/C76970557","wikidata":"https://www.wikidata.org/wiki/Q1869750","display_name":"Loop unrolling","level":3,"score":0.4101468324661255},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.40734654664993286},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.23406827449798584},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.09310752153396606},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C6557445","wikidata":"https://www.wikidata.org/wiki/Q173113","display_name":"Agronomy","level":1,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C203479927","wikidata":"https://www.wikidata.org/wiki/Q5165939","display_name":"Controller (irrigation)","level":2,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.0},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1034774.1034777","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1034774.1034777","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1034774.1034777","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"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 Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.9.5190","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.5190","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.purdue.edu/homes/li/draft/toplas.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/1034774.1034777","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1034774.1034777","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1034774.1034777","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"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 Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G5672425289","display_name":"Compiler Techniques for Improving Data Locality in Complex Program Constructs","funder_award_id":"9975309","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8991923173","display_name":"Experimenting with Concurrent Multithreaded Architectures   for High-Performance Computing","funder_award_id":"9610379","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/F4320309036","display_name":"Purdue University","ror":"https://ror.org/02dqehb95"},{"id":"https://openalex.org/F4320309667","display_name":"Purdue Research Foundation","ror":"https://ror.org/007n03h88"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1967264375.pdf","grobid_xml":"https://content.openalex.org/works/W1967264375.grobid-xml"},"referenced_works_count":76,"referenced_works":["https://openalex.org/W128912440","https://openalex.org/W199031666","https://openalex.org/W272982077","https://openalex.org/W1503700136","https://openalex.org/W1506457201","https://openalex.org/W1538592187","https://openalex.org/W1545258949","https://openalex.org/W1555915743","https://openalex.org/W1561247983","https://openalex.org/W1562841074","https://openalex.org/W1577415865","https://openalex.org/W1585509108","https://openalex.org/W1597668820","https://openalex.org/W1600567712","https://openalex.org/W1843640069","https://openalex.org/W1968347730","https://openalex.org/W1968886276","https://openalex.org/W1977545325","https://openalex.org/W1980938221","https://openalex.org/W1990893960","https://openalex.org/W1991501286","https://openalex.org/W1992661685","https://openalex.org/W1998074246","https://openalex.org/W2008056963","https://openalex.org/W2011039300","https://openalex.org/W2014033064","https://openalex.org/W2020214444","https://openalex.org/W2038339443","https://openalex.org/W2042125826","https://openalex.org/W2042629708","https://openalex.org/W2046351222","https://openalex.org/W2061291998","https://openalex.org/W2073866852","https://openalex.org/W2078845975","https://openalex.org/W2094224753","https://openalex.org/W2095840200","https://openalex.org/W2098220211","https://openalex.org/W2100913437","https://openalex.org/W2107219487","https://openalex.org/W2108730477","https://openalex.org/W2112482891","https://openalex.org/W2115667390","https://openalex.org/W2116493917","https://openalex.org/W2119042753","https://openalex.org/W2121380786","https://openalex.org/W2124644009","https://openalex.org/W2127669603","https://openalex.org/W2132331020","https://openalex.org/W2135736783","https://openalex.org/W2137300667","https://openalex.org/W2137332808","https://openalex.org/W2137858332","https://openalex.org/W2138027438","https://openalex.org/W2153499233","https://openalex.org/W2158158791","https://openalex.org/W2168822173","https://openalex.org/W2296760900","https://openalex.org/W2476096155","https://openalex.org/W2725179571","https://openalex.org/W2752451204","https://openalex.org/W2752885492","https://openalex.org/W2913630722","https://openalex.org/W2914895134","https://openalex.org/W3145128584","https://openalex.org/W4210936726","https://openalex.org/W4230059272","https://openalex.org/W4232071035","https://openalex.org/W4232528527","https://openalex.org/W4238033323","https://openalex.org/W4245503759","https://openalex.org/W4249468276","https://openalex.org/W4250137633","https://openalex.org/W4251541088","https://openalex.org/W4251704173","https://openalex.org/W4252742548","https://openalex.org/W4256701974"],"related_works":["https://openalex.org/W4200123712","https://openalex.org/W2122418911","https://openalex.org/W4251798485","https://openalex.org/W2014071052","https://openalex.org/W1498734356","https://openalex.org/W4232588022","https://openalex.org/W2103891735","https://openalex.org/W2089799314","https://openalex.org/W2027230130","https://openalex.org/W1967264375"],"abstract_inverted_index":{"Iterative":[0],"stencil":[1,56],"loops":[2,19,98,112],"are":[3],"used":[4],"in":[5,80,138],"scientific":[6],"programs":[7,193],"to":[8,36,76,110,140,153,183],"implement":[9],"relaxation":[10],"methods":[11],"for":[12,33,51],"numerical":[13],"simulation":[14],"and":[15,103,177,194,203],"signal":[16],"processing.":[17],"Such":[18],"iteratively":[20],"modify":[21],"the":[22,34,38,59,63,83,96,100,114,124,128,155,160,164,172],"same":[23,115],"array":[24],"elements":[25],"over":[26,99],"different":[27],"time":[28,101],"steps,":[29],"which":[30,72,147,167],"presents":[31,47,69],"opportunities":[32],"compiler":[35,49],"improve":[37],"temporal":[39],"data":[40,78],"locality":[41],"through":[42],"loop":[43,74,136],"tiling.":[44],"This":[45],"article":[46,67,125],"a":[48,70,106,120,204],"framework":[50],"automatic":[52],"tiling":[53,75],"of":[54,61,82,201,207],"iterative":[55],"loops,":[57],"with":[58],"objective":[60],"improving":[62],"cache":[64,142],"performance.":[65],"The":[66],"first":[68],"technique":[71],"allows":[73],"satisfy":[77],"dependences":[79],"spite":[81],"difficulty":[84],"created":[85],"by":[86,94,104],"imperfectly":[87],"nested":[88],"inner":[89,97],"loops.":[90],"It":[91],"does":[92],"so":[93],"skewing":[95],"steps":[102],"applying":[105],"uniform":[107],"skew":[108,129,157],"factor":[109,130],"all":[111],"at":[113,134],"nesting":[116],"level.":[117],"Based":[118],"on":[119,190],"memory":[121],"cost":[122],"analysis,":[123],"shows":[126],"that":[127],"must":[131],"be":[132],"minimized":[133],"every":[135],"level":[137],"order":[139],"minimize":[141],"misses.":[143,170,186],"A":[144],"graph-theoretical":[145],"algorithm,":[146],"takes":[148],"polynomial":[149],"time,":[150],"is":[151,181],"presented":[152],"determine":[154],"minimum":[156],"factor.":[158],"Furthermore,":[159],"memory-cost":[161],"analysis":[162],"derives":[163],"tile":[165,173],"size":[166],"minimizes":[168],"capacity":[169],"Given":[171],"size,":[174],"an":[175,198],"efficient":[176],"general":[178],"&lt;i&gt;array-padding&lt;/i&gt;":[179],"scheme":[180],"applied":[182],"remove":[184],"conflict":[185],"Experiments":[187],"were":[188],"conducted":[189],"16":[191],"test":[192,211],"preliminary":[195],"results":[196],"showed":[197],"average":[199],"speedup":[200,206],"1.58":[202],"maximum":[205],"5.06":[208],"across":[209],"those":[210],"programs.":[212]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":6},{"year":2015,"cited_by_count":4},{"year":2014,"cited_by_count":5},{"year":2013,"cited_by_count":6},{"year":2012,"cited_by_count":7}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
