{"id":"https://openalex.org/W4241787720","doi":"https://doi.org/10.1109/cgo.2004.1281682","title":"Custom data layout for memory parallelism","display_name":"Custom data layout for memory parallelism","publication_year":2004,"publication_date":"2004-06-10","ids":{"openalex":"https://openalex.org/W4241787720","doi":"https://doi.org/10.1109/cgo.2004.1281682"},"language":"en","primary_location":{"id":"doi:10.1109/cgo.2004.1281682","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2004.1281682","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Symposium on Code Generation and Optimization, 2004. CGO 2004.","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/A5040570104","display_name":"Byoungro So","orcid":null},"institutions":[{"id":"https://openalex.org/I4210114115","display_name":"IBM Research - Thomas J. Watson Research Center","ror":"https://ror.org/0265w5591","country_code":"US","type":"facility","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210114115"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Byoungro So","raw_affiliation_strings":["Exploratory System Architecture, IBM Thomas J. Watson Research Center, Yorktown Heights, NY, USA"],"affiliations":[{"raw_affiliation_string":"Exploratory System Architecture, IBM Thomas J. Watson Research Center, Yorktown Heights, NY, USA","institution_ids":["https://openalex.org/I4210114115"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030152493","display_name":"Mary Hall","orcid":"https://orcid.org/0000-0002-3058-7573"},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"M.W. Hall","raw_affiliation_strings":["Information Sciences Institute, University of Southern California, Marina del Rey, CA, USA"],"affiliations":[{"raw_affiliation_string":"Information Sciences Institute, University of Southern California, Marina del Rey, CA, USA","institution_ids":["https://openalex.org/I1174212"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5064722453","display_name":"Heidi Ziegler","orcid":null},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"H.E. Ziegler","raw_affiliation_strings":["Information Sciences Institute, University of Southern California, Marina del Rey, CA, USA"],"affiliations":[{"raw_affiliation_string":"Information Sciences Institute, University of Southern California, Marina del Rey, CA, USA","institution_ids":["https://openalex.org/I1174212"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5040570104"],"corresponding_institution_ids":["https://openalex.org/I4210114115"],"apc_list":null,"apc_paid":null,"fwci":1.0532,"has_fulltext":false,"cited_by_count":11,"citation_normalized_percentile":{"value":0.78467963,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"291","last_page":"302"},"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.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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9987000226974487,"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.8914932012557983},{"id":"https://openalex.org/keywords/loop-unrolling","display_name":"Loop unrolling","score":0.7501987218856812},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7333910465240479},{"id":"https://openalex.org/keywords/memory-bandwidth","display_name":"Memory bandwidth","score":0.4779217839241028},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.4698350131511688},{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.4171810746192932},{"id":"https://openalex.org/keywords/data-access","display_name":"Data access","score":0.4169297218322754},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.41673707962036133},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.41433802247047424},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.31267327070236206},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.24152854084968567}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8914932012557983},{"id":"https://openalex.org/C76970557","wikidata":"https://www.wikidata.org/wiki/Q1869750","display_name":"Loop unrolling","level":3,"score":0.7501987218856812},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7333910465240479},{"id":"https://openalex.org/C188045654","wikidata":"https://www.wikidata.org/wiki/Q17148339","display_name":"Memory bandwidth","level":2,"score":0.4779217839241028},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.4698350131511688},{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.4171810746192932},{"id":"https://openalex.org/C47487241","wikidata":"https://www.wikidata.org/wiki/Q5227230","display_name":"Data access","level":2,"score":0.4169297218322754},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.41673707962036133},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.41433802247047424},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.31267327070236206},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.24152854084968567},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/cgo.2004.1281682","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2004.1281682","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Symposium on Code Generation and Optimization, 2004. CGO 2004.","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":25,"referenced_works":["https://openalex.org/W1500027417","https://openalex.org/W1564418300","https://openalex.org/W1603129738","https://openalex.org/W1822968287","https://openalex.org/W1973122629","https://openalex.org/W2024023641","https://openalex.org/W2030934436","https://openalex.org/W2061461907","https://openalex.org/W2123183104","https://openalex.org/W2128075647","https://openalex.org/W2137149639","https://openalex.org/W2146852595","https://openalex.org/W2147218728","https://openalex.org/W2149630066","https://openalex.org/W2171427778","https://openalex.org/W3081092397","https://openalex.org/W4233534120","https://openalex.org/W4235434878","https://openalex.org/W4238067658","https://openalex.org/W4239066401","https://openalex.org/W4243834914","https://openalex.org/W4245348408","https://openalex.org/W6678107262","https://openalex.org/W6681800050","https://openalex.org/W6813828836"],"related_works":["https://openalex.org/W2014408922","https://openalex.org/W2154847378","https://openalex.org/W2119560736","https://openalex.org/W2063397164","https://openalex.org/W1563688358","https://openalex.org/W1556140123","https://openalex.org/W2292256608","https://openalex.org/W2103365632","https://openalex.org/W4251798485","https://openalex.org/W2122418911"],"abstract_inverted_index":{"We":[0,39,86,109],"describe":[1],"a":[2,7,43,95,168,178,202],"generalized":[3],"approach":[4,64],"to":[5,18,53,83,103,170,193,200],"deriving":[6],"custom":[8,128],"data":[9,45,129],"layout":[10,130],"in":[11,24,56,68,91,153,162,167,181],"multiple":[12,28],"memory":[13,22,29,185,204],"banks":[14,30],"for":[15,98,106,113,148,195],"array-based":[16,84],"computations,":[17],"facilitate":[19],"high-bandwidth":[20],"parallel":[21],"accesses":[23],"modern":[25],"architectures,":[26],"where":[27],"can":[31],"simultaneously":[32],"feed":[33],"one":[34],"or":[35,136,140],"more":[36],"functional":[37],"units.":[38],"do":[40],"not":[41],"use":[42],"fixed":[44,141],"layout,":[46],"but":[47],"rather":[48],"select":[49],"application-specific":[50],"layouts":[51],"according":[52],"access":[54,150,186],"patterns":[55,151],"the":[57,69,77,92,119,154,182],"code.":[58],"A":[59],"unique":[60],"feature":[61],"of":[62,71,121,156,184],"this":[63,89,122],"is":[65,145],"its":[66],"flexibility":[67],"presence":[70,155],"code":[72,157],"reordering":[73,158],"transformations,":[74],"such":[75],"as":[76,133,198],"loop":[78],"nest":[79,169],"transformations":[80],"commonly":[81],"applied":[82],"computations.":[85],"have":[87],"implemented":[88],"algorithm":[90],"DEFACTO":[93],"system,":[94],"design":[96],"environment":[97],"automatically":[99],"mapping":[100],"C":[101],"programs":[102],"hardware":[104],"implementations":[105],"FPGA-based":[107],"systems.":[108],"present":[110],"experimental":[111],"results":[112,125,132],"five":[114],"multimedia":[115],"kernels":[116],"that":[117,127],"demonstrate":[118],"benefits":[120],"approach.":[123],"Our":[124],"show":[126],"yields":[131],"good":[134],"as,":[135],"better":[137,147],"than,":[138],"naive":[139],"cyclic":[142],"layouts,":[143],"and":[144,152,188],"significantly":[146],"certain":[149],"transformations.":[159],"When":[160],"used":[161],"conjunction":[163],"with":[164,205],"unrolling":[165],"loops":[166],"expose":[171],"instruction-level":[172],"parallelism,":[173],"we":[174],"observe":[175],"greater":[176],"than":[177],"75%":[179],"reduction":[180],"number":[183],"cycles":[187],"speedups":[189],"ranging":[190],"from":[191],"3.96":[192],"46.7":[194],"8":[196],"memories,":[197],"compared":[199],"using":[201],"single":[203],"no":[206],"unrolling.":[207]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2013,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
