• DocumentCode
    1955086
  • Title

    DL: A data layout transformation system for heterogeneous computing

  • Author

    Sung, I-Jui ; Liu, Geng Daniel ; Hwu, Wen-Mei W.

  • fYear
    2012
  • fDate
    13-14 May 2012
  • Firstpage
    1
  • Lastpage
    11
  • Abstract
    For many-core architectures like the GPUs, efficient off-chip memory access is crucial to high performance; the applications are often limited by off-chip memory bandwidth. Transforming data layout is an effective way to reshape the access patterns to improve off-chip memory access behavior, but several challenges had limited the use of automated data layout transformation systems on GPUs, namely how to efficiently handle arrays of aggregates, and transparently marshal data between layouts required by different performance sensitive kernels and legacy host code. While GPUs have higher memory bandwidth and are natural candidates for marshaling data between layouts, the relatively constrained GPU memory capacity, compared to that of the CPU, implies that not only the temporal cost of marshaling but also the spatial overhead must be considered for any practical layout transformation systems. This paper presents DL, a practical GPU data layout transformation system that addresses these problems: first, a novel approach to laying out array of aggregate types across GPU and CPU architectures is proposed to further improve memory parallelism and kernel performance beyond what is achieved by human programmers using discrete arrays today. Our proposed new layout can be derived in situ from the traditional Array of Structure, Structure of Arrays, and adjacent Discrete Arrays layouts used by programmers. Second, DL has a run-time library implemented in OpenCL that transparently and efficiently converts, or marshals, data to accommodate application components that have different data layout requirements. We present insights that lead to the design of this highly efficient run-time marshaling library. In particular, the in situ transformation implemented in the library is comparable or faster than optimized traditional out-of-place transformations while avoiding doubling the GPU DRAM usage. Third, we show experimental results that the new layout approach leads to substantial pe- formance improvement at the applications level even when all marshaling cost is taken into account.
  • Keywords
    data handling; graphics processing units; libraries; multiprocessing systems; parallel processing; DL; GPU DRAM usage; GPU memory capacity; OpenCL; access patterns; aggregate array handling; array of structure; data layout transformation system; discrete arrays layouts; heterogeneous computing; kernel performance; legacy host code; many-core architectures; marshal data array handling; marshaling temporal cost; memory parallelism; off-chip memory access behavior; off-chip memory bandwidth; performance sensitive kernels; run-time marshaling library; spatial overhead; structure of arrays; Arrays; Graphics processing unit; Kernel; Layout; Random access memory; Tiles; Data Layout; GPU; Marshaling;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Innovative Parallel Computing (InPar), 2012
  • Conference_Location
    San Jose, CA
  • Print_ISBN
    978-1-4673-2632-2
  • Electronic_ISBN
    978-1-4673-2631-5
  • Type

    conf

  • DOI
    10.1109/InPar.2012.6339606
  • Filename
    6339606