GPUs rely on the high arithmetic
intensity necessary to process graphics,
noted Luebke. Thus, he explained,
applications that involve numeric com-
putations on large grids of data are
well suited to GPGPUs.
This includes linear algebra and the
simulation of complex physical pro-
cesses, said Arie Kaufman, chair of
Stonybrook University’s Computer
Science Department.
Other examples are differential
equation solvers and scientific compu-
tations, such as the fast Fourier trans-
forms used in real-time MPEG video
compression and audio rendering,
Luebke noted.
“Signal processing operations are
usually computationally intensive and
data parallel. GPUs’ arithmetic capa-
bilities are suitable for them,” Kaufman
said.
Other suitable applications involve
fluid dynamics, including climate mod-
eling, weather prediction, and oceanic
and atmospheric studies; and molecu-
lar dynamics, including protein and
biomolecular simulations, chemical
reactions, and material sciences.
GPGPUs also work well on geomet-
ric computations such as Voronoi dia-
tiple-data (MIMD) pipelines perform
vertex processing, which helps render
specific points in 3D scenes based on
their coordinates. Single-instruction,
multiple-data (SIMD) pipelines pro-
duce colors and 3D effects for each
pixel, the smallest unit of an image dis-
played on a screen.
Together, the two types of parallel-
processing pipelines offer more per-
formance than CPUs.
Strict pipelining, in which systems
efficiently process all data items in
pipeline order, enables GPUs to easily
handle data without extensive caching.
“CPUs need caching because their
programs are far more general, and the
sequence of memory accesses is far less
predictable than with the GPU, for
which the program is explicitly con-
strained,” noted Venkatasubramanian.
Reducing the number of on-chip
caches leaves GPUs with more room
for additional computational units,
noted Nvidia’s Purcell.