IEEE SIGNAL PROCESSING MAGAZINE [109] MAY 2007 1053-5888/07/$25.00©2007IEEE G raphics processing units (GPUs) are the massively parallel high-performance processors used for graphics accelerators in personal computers. These processors have been driven to very high levels of performance and low price-points by the need for real-time computer graphics in mass-market gaming. However, GPUs are no longer specialized for computer graphics. Over the last five years, they have evolved a general-purpose programmable architecture and supporting ecosystem that make possible their use for a wide range of nongraphics tasks, including many applications in signal processing (SP). Commercial, high-performance SP applications that use GPUs as accelerators for generalpurpose (GP) tasks (referred to as GPGPU processing) are still emerging, but many aspects of the architecture of GPUs and their wide availability make them interesting options for implementing and deploying such applications. In this article, we will review some SP applications of GPUs, summarize their key architectural features, and survey the options available for programming these devices.
[1]
Jens H. Krüger,et al.
A Survey of General‐Purpose Computation on Graphics Hardware
,
2007,
Eurographics.
[2]
N.K. Govindaraju,et al.
A Memory Model for Scientific Algorithms on Graphics Processors
,
2006,
ACM/IEEE SC 2006 Conference (SC'06).
[3]
Richard Szeliski,et al.
A Comparison and Evaluation of Multi-View Stereo Reconstruction Algorithms
,
2006,
2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06).
[4]
M. McCool.
Data-Parallel Programming on the Cell BE and the GPU using the RapidMind Development Platform
,
2006
.
[5]
G. G. Stokes.
"J."
,
1890,
The New Yale Book of Quotations.
[6]
Erwin Keeve,et al.
Fourier Volume Rendering on the GPU Using a Split-Stream-FFT
,
2004,
VMV.