Fixing Performance Bugs: An Empirical Study of Open-Source GPGPU Programs
Authors:
- Yi YangYYYi Yang
- Ping XiangPXPing Xiang
- Mike MantorMMMike Mantor
- Huiyang ZhouHZHuiyang Zhou
- 1 September 2012
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 01903918,p. 329-339
Abstract
Given the extraordinary computational power of modern graphics processing units (GPUs), general purpose computation on GPUs (GPGPU) has become an increasingly important platform for high performance computing. To better understand how well the GPU resource has been utilized by application developers and then to facilitate them to develop high performance GPGPU code, we conduct an empirical study on GPGPU programs from ten open-source projects. These projects span a wide range of disciplines and many are designed as high performance libraries. Among these projects, we found various performance 'bugs', i.e., code segments leading to inefficient use of GPU hardware. We characterize these performance bugs, and propose the bug fixes. Our experiments confirm both significant performance gains and energy savings from our fixes and reveal interesting insights on different GPUs.Keywords
This publication has 10 references indexed in Scilit:
- Data layout transformation exploiting memory-level parallelism in structured grid many-core applications2010
- Adaptive Optimization for Petascale Heterogeneous CPU/GPU Computing2010
- GPUMLib: A new Library to combine Machine Learning algorithms with Graphics Processing Units2010
- Debunking the 100X GPU vs. CPU myth2010
- A GPGPU compiler for memory optimization and parallelism management2010
- GPU accelerated Monte Carlo simulation of the 2D and 3D Ising modelJournal of Computational Physics, 2009
- DENSE MATRIX-VECTOR MULTIPLICATION ON THE CUDA ARCHITECTUREParallel Processing Letters, 2008
- Benchmarking GPUs to tune dense linear algebra2008
- Optimization principles and application performance evaluation of a multithreaded GPU using CUDA2008
- High-throughput sequence alignment using Graphics Processing UnitsBMC Bioinformatics, 2007