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 条
  • [31] McCool M. D., 2002, P ACM SIGGRAPH EUROG, P57
  • [32] *MICR, 2003, HIGH LEV SHAD LANG
  • [33] MOLNAR S, 1992, P 19 ANN C COMP GRAP, P231
  • [34] *NVIDIA, 2004, GEFORCE 6800 PROD OV
  • [35] OWENS J, 2000, P SIGGRAPH EUR WORKS, P23
  • [36] Peercy MS, 2000, COMP GRAPH, P425, DOI 10.1145/344779.344976
  • [37] PERCY J, 2003, OPENGL EXTENSIONS
  • [38] SCALE-SPACE AND EDGE-DETECTION USING ANISOTROPIC DIFFUSION
    PERONA, P
    MALIK, J
    [J]. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, 1990, 12 (07) : 629 - 639
  • [39] Purcell TJ, 2002, ACM T GRAPHIC, V21, P703, DOI 10.1145/566570.566640
  • [40] CRAY-1 COMPUTER SYSTEM
    RUSSELL, RM
    [J]. COMMUNICATIONS OF THE ACM, 1978, 21 (01) : 63 - 72