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.