Deconstructing Hardware Usage for General Purpose Computation on GPUs (GPGPU) [abstract] (CiteSeerX, PDF)
Budyanto Himawan and Manish Vachharajani
Proceedings of the 2006 Workshop on Duplicating, Debunking, and Deconstructing (WDDD), June 2006.
The high-programmability and numerous compute resources on Graphics
Processing Units (GPUs) have allowed researchers to dramatically
accelerate many non-graphics applications. This initial success has
generated great interest in mapping applications to GPUs. Accordingly,
several works have focused on helping application developers rewrite
their application kernels for the explicitly parallel but restricted
GPU programming model. However, there has been far less work that
examines how these applications actually utilize the underlying
hardware.
This paper focuses on deconstructing how General Purpose
applications on GPUs (GPGPU applications) utilize the underlying GPU
pipeline. The paper identifies which parts of the pipeline are
utilized, how they are utilized, and why they are suitable for general
purpose computation. For those parts that are under-utilized, the
paper examines the underlying causes for the under-utilization and
suggests changes that would make them more useful for GPGPU
applications. Hopefully, this analysis will help designers include
the most useful features when designing novel parallel hardware for
general purpose applications, and help them avoid restrictions that
limit the utility of the hardware. Furthermore, by highlighting the
capabilities of existing GPU components, this paper should also help
GPGPU developers make more efficient use of the GPU.