{"id":"https://openalex.org/W4240054498","doi":"https://doi.org/10.1145/1065010.1065048","title":"Formal loop merging for signal transforms","display_name":"Formal loop merging for signal transforms","publication_year":2005,"publication_date":"2005-06-12","ids":{"openalex":"https://openalex.org/W4240054498","doi":"https://doi.org/10.1145/1065010.1065048"},"language":"en","primary_location":{"id":"doi:10.1145/1065010.1065048","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1065010.1065048","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation","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/A5062806943","display_name":"Franz Franchetti","orcid":"https://orcid.org/0000-0002-3529-8973"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Franz Franchetti","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, PA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5077820779","display_name":"Yevgen Voronenko","orcid":null},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yevgen Voronenko","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, PA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5076407181","display_name":"Markus P\u00fcschel","orcid":"https://orcid.org/0000-0001-8834-8551"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Markus P\u00fcschel","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, PA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":27,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"315","last_page":"326"},"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.9993000030517578,"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.9993000030517578,"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/T11697","display_name":"Numerical Methods and Algorithms","score":0.9990000128746033,"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"}},{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9976999759674072,"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/computer-science","display_name":"Computer science","score":0.7864582538604736},{"id":"https://openalex.org/keywords/loop-unrolling","display_name":"Loop unrolling","score":0.6345165371894836},{"id":"https://openalex.org/keywords/fast-fourier-transform","display_name":"Fast Fourier transform","score":0.6326211094856262},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6076615452766418},{"id":"https://openalex.org/keywords/loop-tiling","display_name":"Loop tiling","score":0.5849314332008362},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5609383583068848},{"id":"https://openalex.org/keywords/rewriting","display_name":"Rewriting","score":0.5478309988975525},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.49085360765457153},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4857076108455658},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.4746081233024597},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4330950081348419},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.34176570177078247},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1454310119152069}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7864582538604736},{"id":"https://openalex.org/C76970557","wikidata":"https://www.wikidata.org/wiki/Q1869750","display_name":"Loop unrolling","level":3,"score":0.6345165371894836},{"id":"https://openalex.org/C75172450","wikidata":"https://www.wikidata.org/wiki/Q623950","display_name":"Fast Fourier transform","level":2,"score":0.6326211094856262},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6076615452766418},{"id":"https://openalex.org/C11799548","wikidata":"https://www.wikidata.org/wiki/Q6675847","display_name":"Loop tiling","level":3,"score":0.5849314332008362},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5609383583068848},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.5478309988975525},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.49085360765457153},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4857076108455658},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4746081233024597},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4330950081348419},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.34176570177078247},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1454310119152069},{"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/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1065010.1065048","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1065010.1065048","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation","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":9,"referenced_works":["https://openalex.org/W1585509108","https://openalex.org/W2034591560","https://openalex.org/W2045810654","https://openalex.org/W2059564324","https://openalex.org/W2072277531","https://openalex.org/W2102182691","https://openalex.org/W2134572726","https://openalex.org/W2136952590","https://openalex.org/W2164197394"],"related_works":["https://openalex.org/W30800889","https://openalex.org/W1951652387","https://openalex.org/W2122418911","https://openalex.org/W4251798485","https://openalex.org/W1992520403","https://openalex.org/W2039186546","https://openalex.org/W2134084442","https://openalex.org/W2151744790","https://openalex.org/W2340721088","https://openalex.org/W2278840053"],"abstract_inverted_index":{"A":[0],"critical":[1],"optimization":[2],"in":[3,109],"the":[4,12,33,50,85,121,132,143,192],"domain":[5],"of":[6,35,92,158,177,180],"linear":[7],"signal":[8,79],"transforms,":[9],"such":[10],"as":[11],"discrete":[13],"Fourier":[14],"transform":[15],"(DFT),":[16],"is":[17,45,155,200],"loop":[18,43,74],"merging,":[19],"which":[20,59],"increases":[21],"data":[22],"locality":[23],"and":[24,26,52,81,100,111,135,142,205],"reuse":[25],"thus":[27],"performance.":[28],"In":[29,67],"particular,":[30],"this":[31,68],"includes":[32],"conversion":[34],"shuffle":[36],"operations":[37],"into":[38,117],"array":[39],"reindexings.":[40],"To":[41],"date,":[42],"merging":[44,75],"well":[46],"understood":[47],"only":[48,53,131],"for":[49,54,77],"DFT,":[51],"Cooley-Tukey":[55,133],"FFT":[56,134],"based":[57],"algorithms,":[58,166],"excludes":[60],"DFT":[61,124],"sizes":[62,125,172],"divisible":[63],"by":[64],"large":[65],"primes.":[66],"paper,":[69],"we":[70,173,186],"present":[71],"a":[72,94,103,112,156,175,178,188],"formal":[73],"framework":[76,90,122],"general":[78],"transforms":[80],"its":[82],"implementation":[83,163],"within":[84],"SPIRAL":[86],"code":[87,154,199],"generator.":[88],"The":[89],"consists":[91],"\u0395-SPL,":[93],"mathematical":[95],"language":[96],"to":[97,106,123,139,150],"express":[98],"loops":[99,108],"index":[101],"mappings;":[102],"rewriting":[104],"system":[105],"merge":[107],"\u0395-SPL":[110,116],"compiler":[113],"that":[114,126],"translates":[115],"code.":[118],"We":[119],"apply":[120],"cannot":[127],"be":[128],"handled":[129],"using":[130,182],"compare":[136],"our":[137,152,197],"method":[138],"FFTW":[140,151],"3.0.1":[141],"vendor":[144,194],"library":[145,195],"Intel":[146,193],"MKL":[147],"7.2.1.":[148],"Compared":[149],"generated":[153,198],"factor":[157,179],"2--4":[159],"faster":[160,204],"under":[161],"equal":[162],"conditions":[164],"(same":[165],"same":[167],"unrolling":[168],"threshold).":[169],"For":[170],"some":[171],"show":[174],"speed-up":[176],"9":[181],"Bluestein's":[183],"algorithm.":[184],"Further,":[185],"give":[187],"detailed":[189],"comparison":[190],"against":[191],"MKL;":[196],"between":[201],"2":[202],"times":[203,207],"4.5":[206],"slower.":[208]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":2},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":2}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
