GPGPU |
General-Purpose Computation Using Graphics Hardware
|
IntroductionGPGPU stands for General-Purpose computation on GPUs. With the increasing programmability of commodity graphics processing units (GPUs), these chips are capable of performing more than the specific graphics computations for which they were designed. They are now capable coprocessors, and their high speed makes them useful for a variety of applications. The goal of this page is to catalog the current and historical use of GPUs for general-purpose computation.
|
IEEE Visualization 2005 TUTORIALThis year IEEE Visualization 2005 featured a full-day tutorial titled "General Purpose Computation on Graphics Hardware". The course was be held at IEEE Visualization 2005 on Sunday, October 23, 2005 in Minneapolis, MN. AbstractDesktop 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 (or ``visulation'') research possibilities. 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. Tutorial OrganizerAaron Lefohn, University of California Davis Tutorial SpeakersIan Buck, NVIDIA Corporation Tutorial Outline
Complete Course Notes (19MB, 535 pages) |
Links
|