Using Modern Graphics Architectures for General-Purpose Computing:
A Framework and Analysis
Authors:
Abstract:
Recently, graphics hardware architectures have begun
to emphasize versatility, offering rich new ways to pro-grammatically
reconfigure the graphics pipeline. In this
paper, we explore whether current graphics architectures
can be applied to problems where general-purpose vec-tor
processors might traditionally be used. We develop a
programming framework and apply it to a variety of prob-lems,
including matrix multiplication and 3-SAT. Compar-ing
the speed of our graphics card implementations to stan-dard
CPU implementations, we demonstrate startling per-formance
improvements in many cases, as well as room
for improvement in others. We analyze the bottlenecks
and propose minor extensions to current graphics architec-tures
which would improve their effectiveness for solving
general-purpose problems. Based on our results and cur-rent
trends in microarchitecture, we believe that efficient use
of graphics hardware will become increasingly important to
high-performance computing on commodity hardware.