{"id":"https://openalex.org/W2604754884","doi":"https://doi.org/10.1145/3037697.3037720","title":"Locality Transformations for Nested Recursive Iteration Spaces","display_name":"Locality Transformations for Nested Recursive Iteration Spaces","publication_year":2017,"publication_date":"2017-04-04","ids":{"openalex":"https://openalex.org/W2604754884","doi":"https://doi.org/10.1145/3037697.3037720","mag":"2604754884"},"language":"en","primary_location":{"id":"doi:10.1145/3037697.3037720","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3037697.3037720","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems","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/A5028997869","display_name":"Kirshanthan Sundararajah","orcid":"https://orcid.org/0000-0001-6384-062X"},"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":"Kirshanthan Sundararajah","raw_affiliation_strings":["Purdue University, West Lafayette, IN, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, IN, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030893127","display_name":"Laith Sakka","orcid":"https://orcid.org/0009-0009-5796-4066"},"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":"Laith Sakka","raw_affiliation_strings":["Purdue University, West Lafayette, IN, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, IN, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5075916086","display_name":"Milind Kulkarni","orcid":"https://orcid.org/0000-0001-6827-345X"},"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":"Milind Kulkarni","raw_affiliation_strings":["Purdue University, West Lafayette, IN, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, IN, USA","institution_ids":["https://openalex.org/I219193219"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5028997869"],"corresponding_institution_ids":["https://openalex.org/I219193219"],"apc_list":null,"apc_paid":null,"fwci":1.6181,"has_fulltext":false,"cited_by_count":9,"citation_normalized_percentile":{"value":0.84279627,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"281","last_page":"295"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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":1.0,"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.9983999729156494,"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"}},{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9983999729156494,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.9292570352554321},{"id":"https://openalex.org/keywords/loop-fusion","display_name":"Loop fusion","score":0.848802924156189},{"id":"https://openalex.org/keywords/recursion","display_name":"Recursion (computer science)","score":0.8280485272407532},{"id":"https://openalex.org/keywords/loop-tiling","display_name":"Loop tiling","score":0.8098927140235901},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7743111848831177},{"id":"https://openalex.org/keywords/locality","display_name":"Locality","score":0.7159777879714966},{"id":"https://openalex.org/keywords/memory-hierarchy","display_name":"Memory hierarchy","score":0.6184449195861816},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.5490447282791138},{"id":"https://openalex.org/keywords/mutual-recursion","display_name":"Mutual recursion","score":0.5282943248748779},{"id":"https://openalex.org/keywords/scheduling","display_name":"Scheduling (production processes)","score":0.5041681528091431},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4875721335411072},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.46840259432792664},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.46653085947036743},{"id":"https://openalex.org/keywords/loop-fission","display_name":"Loop fission","score":0.46484678983688354},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.44118061661720276},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4001389443874359},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2415524423122406},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.2177600860595703},{"id":"https://openalex.org/keywords/mathematical-optimization","display_name":"Mathematical optimization","score":0.17349228262901306},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.10693961381912231},{"id":"https://openalex.org/keywords/combinatorics","display_name":"Combinatorics","score":0.07618683576583862},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.07453274726867676}],"concepts":[{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.9292570352554321},{"id":"https://openalex.org/C82653869","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fusion","level":3,"score":0.848802924156189},{"id":"https://openalex.org/C168773036","wikidata":"https://www.wikidata.org/wiki/Q264164","display_name":"Recursion (computer science)","level":2,"score":0.8280485272407532},{"id":"https://openalex.org/C11799548","wikidata":"https://www.wikidata.org/wiki/Q6675847","display_name":"Loop tiling","level":3,"score":0.8098927140235901},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7743111848831177},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.7159777879714966},{"id":"https://openalex.org/C2778100165","wikidata":"https://www.wikidata.org/wiki/Q1589327","display_name":"Memory hierarchy","level":3,"score":0.6184449195861816},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.5490447282791138},{"id":"https://openalex.org/C124416688","wikidata":"https://www.wikidata.org/wiki/Q3454656","display_name":"Mutual recursion","level":3,"score":0.5282943248748779},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.5041681528091431},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4875721335411072},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.46840259432792664},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.46653085947036743},{"id":"https://openalex.org/C134718785","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fission","level":3,"score":0.46484678983688354},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.44118061661720276},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4001389443874359},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2415524423122406},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2177600860595703},{"id":"https://openalex.org/C126255220","wikidata":"https://www.wikidata.org/wiki/Q141495","display_name":"Mathematical optimization","level":1,"score":0.17349228262901306},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.10693961381912231},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.07618683576583862},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.07453274726867676},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3037697.3037720","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3037697.3037720","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G196302251","display_name":null,"funder_award_id":"DE-SC0010295","funder_id":"https://openalex.org/F4320306084","funder_display_name":"U.S. Department of Energy"},{"id":"https://openalex.org/G4997155569","display_name":null,"funder_award_id":"DOE DE-SC0010295","funder_id":"https://openalex.org/F4320306084","funder_display_name":"U.S. Department of Energy"},{"id":"https://openalex.org/G5649220220","display_name":null,"funder_award_id":"CCF-1150013","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6003459638","display_name":null,"funder_award_id":"CCF-1150013,CCF-1439126","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6031300276","display_name":"XPS: FULL: FP: Collaborative Research: Taming parallelism: optimally exploiting high-throughput parallel architectures","funder_award_id":"1439126","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8147317692","display_name":"CAREER:Toward a locality-enhancing transformation framework for irregular programs","funder_award_id":"1150013","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":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":34,"referenced_works":["https://openalex.org/W219888783","https://openalex.org/W1494930385","https://openalex.org/W1498098107","https://openalex.org/W1537087486","https://openalex.org/W1970141743","https://openalex.org/W1972501001","https://openalex.org/W2034761517","https://openalex.org/W2039787998","https://openalex.org/W2057569957","https://openalex.org/W2072725684","https://openalex.org/W2093582488","https://openalex.org/W2095875205","https://openalex.org/W2101462267","https://openalex.org/W2104251622","https://openalex.org/W2111069040","https://openalex.org/W2113996446","https://openalex.org/W2116730320","https://openalex.org/W2117197583","https://openalex.org/W2117703621","https://openalex.org/W2117780239","https://openalex.org/W2142761843","https://openalex.org/W2164705534","https://openalex.org/W2165558283","https://openalex.org/W2167988313","https://openalex.org/W2295982679","https://openalex.org/W2565437821","https://openalex.org/W2584066715","https://openalex.org/W2753191874","https://openalex.org/W2951478555","https://openalex.org/W2983923412","https://openalex.org/W4234853678","https://openalex.org/W4250941763","https://openalex.org/W4299828299","https://openalex.org/W4301667331"],"related_works":["https://openalex.org/W2342605656","https://openalex.org/W2040522199","https://openalex.org/W154155438","https://openalex.org/W1596526459","https://openalex.org/W2058764256","https://openalex.org/W1508919682","https://openalex.org/W4238596836","https://openalex.org/W4251529006","https://openalex.org/W2604754884","https://openalex.org/W4255608642"],"abstract_inverted_index":{"There":[0],"has":[1,45],"been":[2,46],"a":[3,73,77,109],"significant":[4],"amount":[5],"of":[6,24,27,86,121],"effort":[7],"invested":[8],"in":[9,48],"designing":[10,49],"scheduling":[11,87],"transformations":[12,51,61,88],"such":[13],"as":[14],"loop":[15,18,28],"tiling":[16],"and":[17,125],"fusion":[19],"that":[20,33,52,94,114,127,138],"rearrange":[21],"the":[22,35,83,101,122],"execution":[23],"dynamic":[25],"instances":[26],"nests":[29],"to":[30,69,104],"place":[31],"operations":[32],"access":[34],"same":[36],"data":[37],"close":[38],"together":[39],"temporally.":[40],"In":[41],"recent":[42],"years,":[43],"there":[44],"interest":[47],"similar":[50],"operate":[53],"on":[54],"recursive":[55,92,97,102],"programs,":[56],"but":[57],"until":[58],"now":[59],"these":[60],"have":[62],"only":[63],"considered":[64],"simple":[65,78],"scenarios:":[66],"multiple":[67],"recursions":[68],"be":[70],"fused,":[71],"or":[72],"recursion":[74,112],"nested":[75,90,105,140],"inside":[76],"loop.":[79],"This":[80],"paper":[81],"develops":[82],"first":[84],"set":[85],"for":[89],"recursions:":[91],"methods":[93],"call":[95],"other":[96],"methods.":[98],"These":[99],"are":[100],"analog":[103],"loops.":[106],"We":[107],"present":[108],"transformation":[110,129],"called":[111],"twisting":[113],"automatically":[115],"improves":[116],"locality":[117],"at":[118],"all":[119],"levels":[120],"memory":[123],"hierarchy,":[124],"show":[126],"this":[128],"can":[130],"yield":[131],"substantial":[132],"performance":[133],"improvements":[134],"across":[135],"several":[136],"benchmarks":[137],"exhibit":[139],"recursion.":[141]},"counts_by_year":[{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":3}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
