TitleGPGPU : General-Purpose Computation on Graphics Processors (In Proceedings)
inTutorial in IEEE Visualization 2005
Author(s) Aaron Lefohn, Ian Buck, Patrick McCormick, John D. Owens, Tim Purcell, Robert Strzodka
Year 2005
Abstract Desktop computer architecture is at a turning point. In the last two years, CPU speeds have nearly stopped increasing and all major CPU manufacturers have announced multi-core, parallel processors. Future performance improvements will predominantly come from parallelism rather than from an ever-increasing uniprocessor clock speed. Commodity graphics processors (GPUs), in contrast, already contain many parallel processing units and are capable of sustaining computation rates greater than ten times that of a modern CPU. The GPU programming model, however, is very different from traditional CPU models. Researchers in the evolving field of general-purpose computation on graphics processors (GPGPU) are actively developing techniques to make the power of GPUs accessible to a wide range of programmers. This tutorial provides a detailed introduction and overview of GPGPU programming abstractions, modern GPU architectures, and the techniques required for attendees to apply GPUs to their own applications. This tutorial will be of interest to the visualization community for several reasons. First, GPU acceleration of partial differential equation solvers, 2D and 3D image processing, and physical simulations directly affects the visualization community. Second, until recently visualization has primarily focused on exploration of pre-captured data. The ability to perform GPGPU-based interactive simulation on a desktop PC, however, opens up a wealth of new visualization research posibilities. Lastly, despite recent advances in GPU programming languages, GPGPU practitioners are predominantly graphics specialists. This tutorial presents the background, tools, and implementation details required for researchers in other fields to leverage the computational power of GPUs. The tutorial speakers are experts in the field of general-purpose computation on GPUs and streaming architectures. They have presented papers, conference courses, and university courses on the topic at IEEE Visualization, ACM SIGGRAPH, Graphics Hardware, Stanford, UCDavis, and elsewhere.