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.
Citation:
Aaron Lefohn, Ian Buck, Patrick McCormick, John Owens, Timothy Purcell, Robert Strzodka, "General Purpose Computation on Graphics Hardware," vis, pp.121, 16th IEEE Visualization 2005 (VIS 2005), 2005