{"id":"https://openalex.org/W2172073571","doi":"https://doi.org/10.1145/2555243.2555250","title":"Revisiting loop fusion in the polyhedral framework","display_name":"Revisiting loop fusion in the polyhedral framework","publication_year":2014,"publication_date":"2014-02-06","ids":{"openalex":"https://openalex.org/W2172073571","doi":"https://doi.org/10.1145/2555243.2555250","mag":"2172073571"},"language":"en","primary_location":{"id":"doi:10.1145/2555243.2555250","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2555243.2555250","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming","raw_type":"proceedings-article"},"type":"conference-paper","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/A5102742730","display_name":"Sanyam Mehta","orcid":"https://orcid.org/0009-0005-5319-689X"},"institutions":[{"id":"https://openalex.org/I130238516","display_name":"University of Minnesota","ror":"https://ror.org/017zqws13","country_code":"US","type":"education","lineage":["https://openalex.org/I130238516"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sanyam Mehta","raw_affiliation_strings":["University of Minnesota, Minneapolis, MN, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Minnesota, Minneapolis, MN, USA","institution_ids":["https://openalex.org/I130238516"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5035121838","display_name":"Pei\u2010Hung Lin","orcid":"https://orcid.org/0000-0003-4977-814X"},"institutions":[{"id":"https://openalex.org/I130238516","display_name":"University of Minnesota","ror":"https://ror.org/017zqws13","country_code":"US","type":"education","lineage":["https://openalex.org/I130238516"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Pei-Hung Lin","raw_affiliation_strings":["University of Minnesota, Minneapolis, MN, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Minnesota, Minneapolis, MN, USA","institution_ids":["https://openalex.org/I130238516"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5052005800","display_name":"Pen-Chung Yew","orcid":"https://orcid.org/0000-0001-9653-8777"},"institutions":[{"id":"https://openalex.org/I130238516","display_name":"University of Minnesota","ror":"https://ror.org/017zqws13","country_code":"US","type":"education","lineage":["https://openalex.org/I130238516"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Pen-Chung Yew","raw_affiliation_strings":["University of Minnesota, Minneapolis, MN, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Minnesota, Minneapolis, MN, USA","institution_ids":["https://openalex.org/I130238516"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I130238516"],"apc_list":null,"apc_paid":null,"fwci":2.8214,"has_fulltext":false,"cited_by_count":30,"citation_normalized_percentile":{"value":0.91651137,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"233","last_page":"246"},"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.9998999834060669,"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.9998999834060669,"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.9961000084877014,"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/T10142","display_name":"Formal Methods in Verification","score":0.9940000176429749,"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.849528968334198},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8481733798980713},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.6759607791900635},{"id":"https://openalex.org/keywords/loop-unrolling","display_name":"Loop unrolling","score":0.6407840251922607},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.633306622505188},{"id":"https://openalex.org/keywords/loop-fusion","display_name":"Loop fusion","score":0.6257838606834412},{"id":"https://openalex.org/keywords/loop-optimization","display_name":"Loop optimization","score":0.5914208889007568},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.5653650760650635},{"id":"https://openalex.org/keywords/polytope-model","display_name":"Polytope model","score":0.5185811519622803},{"id":"https://openalex.org/keywords/automatic-parallelization","display_name":"Automatic parallelization","score":0.4685799777507782},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.43817001581192017},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.4347485899925232},{"id":"https://openalex.org/keywords/suite","display_name":"Suite","score":0.4289637506008148},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.35873714089393616},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.1038261353969574}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.849528968334198},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8481733798980713},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.6759607791900635},{"id":"https://openalex.org/C76970557","wikidata":"https://www.wikidata.org/wiki/Q1869750","display_name":"Loop unrolling","level":3,"score":0.6407840251922607},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.633306622505188},{"id":"https://openalex.org/C82653869","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fusion","level":3,"score":0.6257838606834412},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.5914208889007568},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.5653650760650635},{"id":"https://openalex.org/C113391598","wikidata":"https://www.wikidata.org/wiki/Q1681391","display_name":"Polytope model","level":3,"score":0.5185811519622803},{"id":"https://openalex.org/C164833996","wikidata":"https://www.wikidata.org/wiki/Q2323839","display_name":"Automatic parallelization","level":3,"score":0.4685799777507782},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.43817001581192017},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.4347485899925232},{"id":"https://openalex.org/C79581498","wikidata":"https://www.wikidata.org/wiki/Q1367530","display_name":"Suite","level":2,"score":0.4289637506008148},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.35873714089393616},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.1038261353969574},{"id":"https://openalex.org/C145691206","wikidata":"https://www.wikidata.org/wiki/Q747980","display_name":"Polytope","level":2,"score":0.0},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"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/C95457728","wikidata":"https://www.wikidata.org/wiki/Q309","display_name":"History","level":0,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2555243.2555250","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2555243.2555250","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W1585509108","https://openalex.org/W1598202309","https://openalex.org/W1964354616","https://openalex.org/W1969152955","https://openalex.org/W1970141743","https://openalex.org/W1992841586","https://openalex.org/W2003368909","https://openalex.org/W2009725282","https://openalex.org/W2031775479","https://openalex.org/W2051305716","https://openalex.org/W2071110673","https://openalex.org/W2075410688","https://openalex.org/W2080422774","https://openalex.org/W2082352135","https://openalex.org/W2116176472","https://openalex.org/W2128249697","https://openalex.org/W2139143992","https://openalex.org/W2142655718","https://openalex.org/W2157099283","https://openalex.org/W2332864379","https://openalex.org/W2606963276","https://openalex.org/W2983923412","https://openalex.org/W4231316372","https://openalex.org/W6736295056"],"related_works":["https://openalex.org/W4251798485","https://openalex.org/W2122418911","https://openalex.org/W2010414531","https://openalex.org/W3169195854","https://openalex.org/W1498734356","https://openalex.org/W2017719803","https://openalex.org/W2052992886","https://openalex.org/W2128467905","https://openalex.org/W2172073571","https://openalex.org/W2051305716"],"abstract_inverted_index":{"Loop":[0],"fusion":[1,21,72,96,117,122,193],"is":[2],"an":[3,88],"important":[4],"compiler":[5,38,68,157,178],"optimization":[6],"for":[7,56,82,203,211],"improving":[8],"memory":[9],"hierarchy":[10],"performance":[11,196],"through":[12],"enabling":[13],"data":[14,131],"reuse.":[15],"Traditional":[16],"compilers":[17,202],"have":[18,160],"approached":[19],"loop":[20,29,54],"in":[22,52,74,137,148,218],"a":[23,94,116],"manner":[24],"decoupled":[25],"from":[26],"other":[27],"high-level":[28],"optimizations,":[30],"missing":[31],"several":[32,170],"interesting":[33],"solutions.":[34],"Recently,":[35],"the":[36,75,80,99,106,138,155,176,185,199,219],"polyhedral":[37,67,156,177,201],"framework":[39,158,179],"with":[40,62,105,124],"its":[41],"ability":[42],"to":[43,49,84,92,119,183,198],"compose":[44],"complex":[45],"transformations,":[46],"has":[47],"proved":[48],"be":[50,85],"promising":[51],"performing":[53],"optimizations":[55],"small":[57,204],"programs.":[58],"However,":[59],"our":[60,166,192],"experiments":[61],"large":[63,212],"programs":[64,214],"using":[65],"state-of-the-art":[66],"frameworks":[69],"reveal":[70],"suboptimal":[71],"partitions":[73,123],"transformed":[76],"code.":[77,140],"We":[78],"trace":[79],"reason":[81],"this":[83,112],"lack":[86],"of":[87,108],"effective":[89],"cost":[90],"model":[91],"choose":[93,120],"good":[95,121,130],"partitioning":[97],"among":[98],"possible":[100],"choices,":[101],"which":[102],"increase":[103],"exponentially":[104],"number":[107],"program":[109],"statements.":[110],"In":[111,165],"paper,":[113],"we":[114,168],"propose":[115,169],"algorithm":[118,194],"two":[125],"objective":[126],"functions":[127],"-":[128],"achieving":[129],"reuse":[132],"and":[133,159,180,207],"preserving":[134],"parallelism":[135],"inherent":[136],"source":[139],"These":[141],"objectives,":[142],"although":[143],"targeted":[144],"by":[145],"previous":[146],"work":[147,173],"traditional":[149],"compilers,":[150],"pose":[151],"new":[152],"challenges":[153],"within":[154,175],"thus":[161],"not":[162],"been":[163],"addressed.":[164],"algorithm,":[167],"heuristics":[171],"that":[172,191],"effectively":[174],"allow":[181],"us":[182],"achieve":[184],"proposed":[186],"objectives.":[187],"Experimental":[188],"results":[189],"show":[190],"achieves":[195],"comparable":[197],"existing":[200],"kernel":[205],"programs,":[206],"significantly":[208],"outperforms":[209],"them":[210],"benchmark":[213,221],"such":[215],"as":[216],"those":[217],"SPEC":[220],"suite.":[222]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2016,"cited_by_count":4},{"year":2015,"cited_by_count":7},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
