General-Purpose Computation on GPUs

Mark Harris, NVIDIA Developer Technology

The graphics processor (GPU) on today's commodity video cards has evolved into an extremely powerful and flexible processor. The latest graphics architectures provide tremendous memory bandwidth and computational horsepower, with fully programmable vertex and pixel processing units that support vector operations at full floating point precision. Architecturally, GPUs are highly parallel streaming processors optimized for vector operations, with both MIMD (vertex) and SIMD (pixel) pipelines. Not surprisingly, these processors are capable of general-purpose computation beyond the graphics applications for which they were designed. Researchers have found that exploiting the GPU can accelerate some problems by more than an order of magnitude over the CPU. This talk will discuss the basics of general-purpose computation on GPUs, and provide a variety of example applications with live demonstrations. Specific obstacles and strategies will be presented, as well as a discussion of future directions for this exciting new field.