{"id":"https://openalex.org/W2096230881","doi":"https://doi.org/10.1109/tpds.2005.26","title":"A complete compiler approach to auto-parallelizing C programs for multi-DSP systems","display_name":"A complete compiler approach to auto-parallelizing C programs for multi-DSP systems","publication_year":2005,"publication_date":"2005-01-31","ids":{"openalex":"https://openalex.org/W2096230881","doi":"https://doi.org/10.1109/tpds.2005.26","mag":"2096230881"},"language":"en","primary_location":{"id":"doi:10.1109/tpds.2005.26","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tpds.2005.26","pdf_url":null,"source":{"id":"https://openalex.org/S97130795","display_name":"IEEE Transactions on Parallel and Distributed Systems","issn_l":"1045-9219","issn":["1045-9219","1558-2183","2161-9883"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Parallel and Distributed Systems","raw_type":"journal-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/A5070407969","display_name":"Bj\u00f6rn Franke","orcid":"https://orcid.org/0000-0002-1219-8523"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"B. Franke","raw_affiliation_strings":["University of Edinburgh, Institute for Computing Systems Architecture (ICSA), Edinburgh, United Kingdom","Inst. for Comput. Syst. Archit., Edinburgh Univ., UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Institute for Computing Systems Architecture (ICSA), Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]},{"raw_affiliation_string":"Inst. for Comput. Syst. Archit., Edinburgh Univ., UK","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027001025","display_name":"Michael O\u2019Boyle","orcid":"https://orcid.org/0000-0003-1619-5052"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"M.F.P. O'Boyle","raw_affiliation_strings":["University of Edinburgh, Institute for Computing Systems Architecture (ICSA), Edinburgh, United Kingdom","Inst. for Comput. Syst. Archit., Edinburgh Univ., UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Institute for Computing Systems Architecture (ICSA), Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]},{"raw_affiliation_string":"Inst. for Comput. Syst. Archit., Edinburgh Univ., UK","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I98677209"],"apc_list":null,"apc_paid":null,"fwci":1.0567,"has_fulltext":false,"cited_by_count":14,"citation_normalized_percentile":{"value":0.7869055,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"16","issue":"3","first_page":"234","last_page":"245"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9997000098228455,"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/T10829","display_name":"Interconnection Networks and Systems","score":0.9988999962806702,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.9316739439964294},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7695300579071045},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7133703827857971},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.6989466547966003},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.5418501496315002},{"id":"https://openalex.org/keywords/memory-bandwidth","display_name":"Memory bandwidth","score":0.5028559565544128},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.49753955006599426},{"id":"https://openalex.org/keywords/locality-of-reference","display_name":"Locality of reference","score":0.4486270248889923},{"id":"https://openalex.org/keywords/digital-signal-processing","display_name":"Digital signal processing","score":0.4351421296596527},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.43396061658859253},{"id":"https://openalex.org/keywords/digital-signal-processor","display_name":"Digital signal processor","score":0.4309615194797516},{"id":"https://openalex.org/keywords/very-long-instruction-word","display_name":"Very long instruction word","score":0.413079172372818},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.1901751458644867},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.16401004791259766}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9316739439964294},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7695300579071045},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7133703827857971},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.6989466547966003},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.5418501496315002},{"id":"https://openalex.org/C188045654","wikidata":"https://www.wikidata.org/wiki/Q17148339","display_name":"Memory bandwidth","level":2,"score":0.5028559565544128},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.49753955006599426},{"id":"https://openalex.org/C27602214","wikidata":"https://www.wikidata.org/wiki/Q1868547","display_name":"Locality of reference","level":3,"score":0.4486270248889923},{"id":"https://openalex.org/C84462506","wikidata":"https://www.wikidata.org/wiki/Q173142","display_name":"Digital signal processing","level":2,"score":0.4351421296596527},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.43396061658859253},{"id":"https://openalex.org/C161611012","wikidata":"https://www.wikidata.org/wiki/Q106370","display_name":"Digital signal processor","level":3,"score":0.4309615194797516},{"id":"https://openalex.org/C170595534","wikidata":"https://www.wikidata.org/wiki/Q249743","display_name":"Very long instruction word","level":2,"score":0.413079172372818},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.1901751458644867},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.16401004791259766},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/tpds.2005.26","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tpds.2005.26","pdf_url":null,"source":{"id":"https://openalex.org/S97130795","display_name":"IEEE Transactions on Parallel and Distributed Systems","issn_l":"1045-9219","issn":["1045-9219","1558-2183","2161-9883"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Parallel and Distributed Systems","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W1540418512","https://openalex.org/W1567458905","https://openalex.org/W1963767272","https://openalex.org/W1974470587","https://openalex.org/W1978381867","https://openalex.org/W1997449553","https://openalex.org/W2003885518","https://openalex.org/W2014033064","https://openalex.org/W2018321014","https://openalex.org/W2024804689","https://openalex.org/W2032904294","https://openalex.org/W2034950124","https://openalex.org/W2052356107","https://openalex.org/W2060434193","https://openalex.org/W2068700702","https://openalex.org/W2096302643","https://openalex.org/W2110363046","https://openalex.org/W2124001993","https://openalex.org/W2128145051","https://openalex.org/W2132124690","https://openalex.org/W2137453987","https://openalex.org/W2153401099","https://openalex.org/W2156275124","https://openalex.org/W2163488221","https://openalex.org/W2165820775","https://openalex.org/W2244841219","https://openalex.org/W3010182501","https://openalex.org/W4230157964","https://openalex.org/W4232453487","https://openalex.org/W4232823287","https://openalex.org/W4251638441","https://openalex.org/W6632315471","https://openalex.org/W6633911070"],"related_works":["https://openalex.org/W134967625","https://openalex.org/W2084471986","https://openalex.org/W2363708040","https://openalex.org/W2164381711","https://openalex.org/W2208809382","https://openalex.org/W2144552376","https://openalex.org/W2336952395","https://openalex.org/W1991347376","https://openalex.org/W71470947","https://openalex.org/W2541382934"],"abstract_inverted_index":{"Auto-parallelizing":[0],"compilers":[1],"for":[2,31,56],"embedded":[3],"applications":[4],"have":[5],"been":[6],"unsuccessful":[7],"due":[8],"to":[9,121,136],"the":[10,17,32,73,119,137],"widespread":[11],"use":[12],"of":[13,21,76,147],"pointer":[14,47],"arithmetic":[15],"and":[16,127,139],"complex":[18],"memory":[19,129],"model":[20],"multiple-address":[22],"space":[23],"digital":[24],"signal":[25],"processors":[26],"(DSPs).":[27],"This":[28,131],"work":[29],"develops,":[30],"first":[33,44],"time,":[34],"a":[35,46,51,66,84],"complete":[36],"auto-parallelization":[37],"approach,":[38],"which":[39,117],"overcomes":[40],"these":[41],"issues.":[42],"It":[43],"combines":[45],"conversion":[48],"technique":[49,70],"with":[50,83],"new":[52,85],"modulo":[53],"elimination":[54],"transformation":[55,69],"program":[57,120],"recovery":[58],"enabling":[59],"later":[60],"parallelization":[61,132],"stages.":[62],"Next,":[63],"it":[64,89],"integrates":[65],"novel":[67],"data":[68,110,125],"that":[71,93],"exposes":[72],"processor":[74],"location":[75],"partitioned":[77],"data.":[78],"When":[79],"this":[80],"is":[81,115,134],"combined":[82],"address":[86,97],"resolution":[87],"mechanism,":[88],"generates":[90],"efficient":[91],"programs":[92],"run":[94],"on":[95,149],"multiple":[96],"spaces":[98],"without":[99],"using":[100],"message":[101],"passing.":[102],"Furthermore,":[103],"as":[104],"DSPs":[105],"do":[106],"not":[107],"possess":[108],"any":[109],"cache":[111],"structure,":[112],"an":[113,144],"optimization":[114],"presented":[116],"transforms":[118],"both":[122],"exploit":[123],"remote":[124],"locality":[126],"local":[128],"bandwidth.":[130],"approach":[133],"applied":[135],"DSPstone":[138],"UTDSP":[140],"benchmark":[141],"suites,":[142],"giving":[143],"average":[145],"speedup":[146],"3.78":[148],"four":[150],"analog":[151],"devices":[152],"TigerSHARC":[153],"TS-101":[154],"processors.":[155]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2013,"cited_by_count":1}],"updated_date":"2026-06-26T08:34:08.712188","created_date":"2025-10-10T00:00:00"}
