Brook for GPUs: Stream computing on graphics hardware

被引:503
作者
Buck, I [1 ]
Foley, T [1 ]
Horn, D [1 ]
Sugerman, J [1 ]
Fatahalian, K [1 ]
Houston, M [1 ]
Hanrahan, P [1 ]
机构
[1] Stanford Univ, Stanford, CA 94305 USA
来源
ACM TRANSACTIONS ON GRAPHICS | 2004年 / 23卷 / 03期
关键词
programmable graphics hardware; data parallel computing; stream computing; GPU computing; Brook;
D O I
10.1145/1015706.1015800
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this paper, we present Brook for GPUs, a system for general-purpose computation on programmable graphics hardware. Brook extends C to include simple data-parallel constructs, enabling the use of the GPU as a streaming coprocessor. We present a compiler and runtime system that abstracts and virtualizes many aspects of graphics hardware. In addition, we present an analysis of the effectiveness of the GPU as a compute engine compared to the CPU, to determine when the GPU can outperform the CPU for a particular algorithm. We evaluate our system with five applications, the SAXPY and SGEMV BLAS operators, image segmentation, FFT, and ray tracing. For these applications, we demonstrate that our Brook implementations perform comparably to hand-written GPU code and up to seven times faster than their CPU counterparts.
引用
收藏
页码:777 / 786
页数:10
相关论文
共 46 条
  • [1] [Anonymous], P ACM SIGGRAPH EUROG
  • [2] [Anonymous], 1999, OPENGL PROGRAMMING G
  • [3] [Anonymous], 2004, THESIS SAARLAND U
  • [4] *ATI, 2004, HARDW IM PROC US ARB
  • [5] Sparse matrix solvers on the GPU:: Conjugate gradients and multigrid
    Bolz, J
    Farmer, I
    Grinspun, E
    Schröder, P
    [J]. ACM TRANSACTIONS ON GRAPHICS, 2003, 22 (03): : 917 - 924
  • [6] BOVE VM, 1995, IEEE T CIRCUITS SYST, P140
  • [7] BUCK I, 2004, 20030410310312503 CS
  • [8] Carr NathanA., 2002, P ACM SIGGRAPHEUROGR, P37
  • [9] CHAN E, 2002, P GRAPH HARDW EUR AS, P69
  • [10] AN ALGORITHM FOR MACHINE CALCULATION OF COMPLEX FOURIER SERIES
    COOLEY, JW
    TUKEY, JW
    [J]. MATHEMATICS OF COMPUTATION, 1965, 19 (90) : 297 - &