Data Parallel Computation on Graphics Hardware

Ian Buck, Pat Hanrahan
Computer Science Department
Stanford University

Tech Report:
Date Published:


As the programmability and performance of modern GPUs continues to increase, many researchers are looking to graphics hardware to solve problems previously performed on general purpose CPUs. In many cases, performing general purpose computation on graphics hardware can provide a significant advantage over implementations on traditional CPUs. However, if GPUs are to become a powerful processing resource, it is important to establish the correct abstraction of the hardware; this will encourage efficient application design as well as an optimizable interface for hardware designers.

In this paper, we present a stream processor abstraction for performing data parallel computation using graphics hardware. In this model, computation is expressed as kernels executing over streams of data. We have implemented this abstraction with current programmable hardware in a system called \emph{Brook} and present a variety of applications demonstrating its functionality. Stream computing not only represents an accurate computational model for today's hardware but it also captures the underlying advantage of computing on graphics hardware.

datapargfx.pdf (154K)