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.
|
Accelerator: A GPGPU system from Microsoft Research This paper describes Accelerator, a system that simplifies the programming of
GPUs for general-purpose uses. Accelerator provides a high-level data-parallel
programming model as a library that is available from a conventional
imperative programming language (C#). The library translates the data-parallel
operations on-the-fly to optimized GPU pixel shader code and API calls. The
authors describe the compilation techniques used to produce optimized pixel
shader code, and demonstrate the effectiveness of the approach by providing
results for a set of compute-intensive benchmarks drawn from image processing
and computer vision. The speeds of the Accelerator versions of the benchmarks
are typically within 50% of the speeds of hand-written pixel shader code.
Some benchmarks significantly outperform C versions running on a CPU by up to
18x. (Accelerator: simplified programming of graphics
processing units for general-purpose uses via data-parallelism
David Tarditi, Sidd Puri, Jose Oglesby. Microsoft Research Technical Report
MSR-TR-2005-184. December 2005.)
Posted: 17 Jan 2006 [GPGPU /High-Level Languages] # |
Categories
|