The Community for Technology Leaders
Green Image
Issue No. 01 - January (2011 vol. 22)
ISSN: 1045-9219
pp: 105-118
David Kaeli , Northeastern University, Boston
Perhaad Mistry , Northeastern University, Boston
Dana Schaa , Northeastern University, Boston
Byunghyun Jang , Northeastern University, Boston
The introduction of General-Purpose computation on GPUs (GPGPUs) has changed the landscape for the future of parallel computing. At the core of this phenomenon are massively multithreaded, data-parallel architectures possessing impressive acceleration ratings, offering low-cost supercomputing together with attractive power budgets. Even given the numerous benefits provided by GPGPUs, there remain a number of barriers that delay wider adoption of these architectures. One major issue is the heterogeneous and distributed nature of the memory subsystem commonly found on data-parallel architectures. Application acceleration is highly dependent on being able to utilize the memory subsystem effectively so that all execution units remain busy. In this paper, we present techniques for enhancing the memory efficiency of applications on data-parallel architectures, based on the analysis and characterization of memory access patterns in loop bodies; we target vectorization via data transformation to benefit vector-based architectures (e.g., AMD GPUs) and algorithmic memory selection for scalar-based architectures (e.g., NVIDIA GPUs). We demonstrate the effectiveness of our proposed methods with kernels from a wide range of benchmark suites. For the benchmark kernels studied, we achieve consistent and significant performance improvements (up to 11.4{\times} and 13.5{\times} over baseline GPU implementations on each platform, respectively) by applying our proposed methodology.
General-purpose computation on GPUs (GPGPUs), GPU computing, memory optimization, memory access pattern, vectorization, memory selection, memory coalescing, data parallelism, data-parallel architectures.
David Kaeli, Perhaad Mistry, Dana Schaa, Byunghyun Jang, "Exploiting Memory Access Patterns to Improve Memory Performance in Data-Parallel Architectures", IEEE Transactions on Parallel & Distributed Systems, vol. 22, no. , pp. 105-118, January 2011, doi:10.1109/TPDS.2010.107
100 ms
(Ver 3.1 (10032016))