{"id":"https://openalex.org/W4253269189","doi":"https://doi.org/10.1109/icpp.2004.1327903","title":"Applying array contraction to a sequence of DOALL loops","display_name":"Applying array contraction to a sequence of DOALL loops","publication_year":2004,"publication_date":"2004-01-01","ids":{"openalex":"https://openalex.org/W4253269189","doi":"https://doi.org/10.1109/icpp.2004.1327903"},"language":"en","primary_location":{"id":"doi:10.1109/icpp.2004.1327903","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icpp.2004.1327903","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Conference on Parallel Processing, 2004. ICPP 2004.","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/A5110814145","display_name":"Yonghong Song","orcid":"https://orcid.org/0000-0001-5978-3781"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Yonghong Song","raw_affiliation_strings":["Sun Microsystems, Inc., Santa Clara, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Sun Microsystems, Inc., Santa Clara, CA, USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5100337917","display_name":"Zhiyuan Li","orcid":"https://orcid.org/0000-0001-5364-1598"},"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":"Zhiyuan Li","raw_affiliation_strings":["Department of Computer Sciences, Purdue University, West Lafayette, IN, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Sciences, Purdue University, West Lafayette, IN, USA","institution_ids":["https://openalex.org/I219193219"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"46","last_page":"53 vol.1"},"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9984999895095825,"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.9972000122070312,"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/parallel-computing","display_name":"Parallel computing","score":0.8864933252334595},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8349294662475586},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.7541351318359375},{"id":"https://openalex.org/keywords/loop-fusion","display_name":"Loop fusion","score":0.7314079403877258},{"id":"https://openalex.org/keywords/locality","display_name":"Locality","score":0.7229917645454407},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.6751116514205933},{"id":"https://openalex.org/keywords/locality-of-reference","display_name":"Locality of reference","score":0.6240772008895874},{"id":"https://openalex.org/keywords/loop-tiling","display_name":"Loop tiling","score":0.5289345383644104},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.4744611382484436},{"id":"https://openalex.org/keywords/multiprocessing","display_name":"Multiprocessing","score":0.4735637903213501},{"id":"https://openalex.org/keywords/loop-fission","display_name":"Loop fission","score":0.44677379727363586},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.44477930665016174},{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.43604952096939087},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.42849284410476685},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.4209633469581604},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.31671157479286194},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.15312659740447998},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.12653470039367676},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.09023794531822205},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.08042773604393005}],"concepts":[{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.8864933252334595},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8349294662475586},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.7541351318359375},{"id":"https://openalex.org/C82653869","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fusion","level":3,"score":0.7314079403877258},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.7229917645454407},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.6751116514205933},{"id":"https://openalex.org/C27602214","wikidata":"https://www.wikidata.org/wiki/Q1868547","display_name":"Locality of reference","level":3,"score":0.6240772008895874},{"id":"https://openalex.org/C11799548","wikidata":"https://www.wikidata.org/wiki/Q6675847","display_name":"Loop tiling","level":3,"score":0.5289345383644104},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.4744611382484436},{"id":"https://openalex.org/C4822641","wikidata":"https://www.wikidata.org/wiki/Q846651","display_name":"Multiprocessing","level":2,"score":0.4735637903213501},{"id":"https://openalex.org/C134718785","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fission","level":3,"score":0.44677379727363586},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.44477930665016174},{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.43604952096939087},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.42849284410476685},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.4209633469581604},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.31671157479286194},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.15312659740447998},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.12653470039367676},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.09023794531822205},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.08042773604393005},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","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/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/icpp.2004.1327903","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icpp.2004.1327903","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Conference on Parallel Processing, 2004. ICPP 2004.","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":22,"referenced_works":["https://openalex.org/W1500590019","https://openalex.org/W1551026808","https://openalex.org/W1585509108","https://openalex.org/W2008056963","https://openalex.org/W2025168586","https://openalex.org/W2076848169","https://openalex.org/W2080422774","https://openalex.org/W2112482891","https://openalex.org/W2116176472","https://openalex.org/W2127669603","https://openalex.org/W2135389994","https://openalex.org/W2137332808","https://openalex.org/W2146405378","https://openalex.org/W2153401099","https://openalex.org/W4232490165","https://openalex.org/W4250664168","https://openalex.org/W4255101367","https://openalex.org/W6633126254","https://openalex.org/W6635276414","https://openalex.org/W6669735149","https://openalex.org/W6675351941","https://openalex.org/W6679927875"],"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/W2109246102","https://openalex.org/W1532159642","https://openalex.org/W2340721088","https://openalex.org/W2140715451"],"abstract_inverted_index":{"Efficient":[0],"program":[1],"execution":[2,121],"on":[3,69,104,138],"multiprocessor":[4],"computers":[5],"requires":[6],"both":[7,116],"sufficient":[8],"parallelism":[9],"and":[10,26,93,119],"good":[11],"data":[12],"locality.":[13,47],"Recent":[14],"research":[15],"found":[16],"that,":[17],"using":[18],"a":[19,37,55,59,105,139],"combination":[20],"of":[21,39,61,107,133],"loop":[22,24],"shifting,":[23],"fusion,":[25],"array":[27],"contraction,":[28],"one":[29],"can":[30],"reduce":[31],"the":[32,45,112,124],"memory":[33],"required":[34],"to":[35,43,52,58,75,86,98],"execute":[36],"sequence":[38,60],"serial":[40],"loops,":[41,63],"thereby":[42],"improve":[44],"cache":[46,117],"This":[48],"paper":[49],"studies":[50],"how":[51],"extend":[53],"such":[54],"memory-reduction":[56],"scheme":[57,128],"DOALL":[62,125],"which":[64],"are":[65,73],"executed":[66],"in":[67],"parallel":[68,91,120],"multiprocessors.":[70],"Two":[71],"methods":[72],"proposed":[74,113],"overcome":[76],"difficulties":[77],"caused":[78],"by":[79],"loop-carried":[80],"dependences.":[81,101],"Data":[82],"copy-in":[83],"is":[84,96],"performed":[85,97,103],"remove":[87,99],"anti-dependences":[88],"between":[89],"different":[90],"threads,":[92],"computation":[94],"duplication":[95],"flow":[100],"Experiments":[102],"number":[106],"benchmark":[108],"programs":[109,137],"show":[110],"that":[111],"technique":[114],"improves":[115],"locality":[118],"speed":[122],"for":[123,135],"loops.":[126],"The":[127],"achieves":[129],"an":[130],"average":[131],"speedup":[132],"1.41":[134],"17":[136],"4-processor":[140],"SUN":[141],"machine.":[142]},"counts_by_year":[{"year":2013,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
