loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
International Symposium on Code Generation and Optimization (CGO'04)
Custom Data Layout for Memory Parallelism
San Jose, California
March 20-March 24
ISBN: 0-7695-2102-9
Byoungro So, IBM T. J. Watson Research Center, Yorktown Heights, NY
Mary W. Hall, University of Southern California, Marina del Rey, CA
Heidi E. Ziegler, University of Southern California, Marina del Rey, CA
In this paper, we describe a generalized approach to deriving a custom data layout in multiple memory banks for array-based computations, to facilitate high-bandwidth parallel memory accesses in modern architectures where multiple memory banks can simultaneously feed one or more functional units. We do not use a fixed data layout, but rather select application-specific layouts according to access patterns in the code. A unique feature of this approach is its flexibility in the presence of code reordering transformations, such as the loop nest transformations commonly applied to array-based computations. We have implemented this algorithm in the DEFACTO system, a design environment for automatically mapping C programs to hardware implementations for FPGA-based systems. We present experimental results for five multimedia kernels that demonstrate the benefits of this approach. Our results show that custom data layout yields results as good as, or better than, naive or fixed cyclic layouts, and is significantly better for certain access patterns and in the presence of code reordering transformations. When used in conjunction with unrolling loops in a nest to expose instruction-level parallelism, we observe greater than a 75% reduction in the number of memory access cycles and speedups ranging from 3.96 to 46.7 for 8 memories, as compared to using a single memory with no unrolling.
Citation:
Byoungro So, Mary W. Hall, Heidi E. Ziegler, "Custom Data Layout for Memory Parallelism," cgo, pp.291, International Symposium on Code Generation and Optimization (CGO'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.