ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Brook for GPUs: stream computing on graphics hardware
Full text MovMov (21:31),  PdfPdf (267 KB)
Source International Conference on Computer Graphics and Interactive Techniques archive
ACM SIGGRAPH 2004 Papers table of contents
Los Angeles, California
SESSION: Large meshes and GPU programming table of contents
Pages: 777 - 786  
Year of Publication: 2004
Also published in ...
Authors
Ian Buck  Stanford University
Tim Foley  Stanford University
Daniel Horn  Stanford University
Jeremy Sugerman  Stanford University
Kayvon Fatahalian  Stanford University
Mike Houston  Stanford University
Pat Hanrahan  Stanford University
Sponsor
SIGGRAPH: ACM Special Interest Group on Computer Graphics and Interactive Techniques
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 95,   Downloads (12 Months): 558,   Citation Count: 115
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1186562.1015800
What is a DOI?

ABSTRACT

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 co-processor. 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
ATI, 2004. Hardware image processing using ARB_fragment_program. http://www.ati.com/developer/sdk/RadeonSDK/Html/Samples/OpenGL/HW_Image_Processing.html.
 
2
ATI, 2004. Radeon X800 product site. http://www.ati.com/products/radeonx800.
3
 
4
BOVE, V., AND WATLINGTON, J. 1995. Cheops: A reconfigurable data-flow system for video processing. IEEE Trans. on Circuits and Systems for Video Technology (April), 140--149.
 
5
BROOK, 2004. Brook project web page. http://brook.sourceforge.net.
 
6
BUCK, I. 2004. Brook specification v.0.2. Tech. Rep. CSTR 2003-04 10/31/03 12/5/03, Stanford University.
 
7
 
8
 
9
COOLEY, J. W., AND TUKEY, J. W. 1965. An algorithm for the machine calculation of complex Fourier series. Mathematics of Computation 19 (April), 297--301.
 
10
 
11
 
12
 
13
FLISAKOWSKI, S., 2004. cTool library. http://ctool.sourceforge.net.
 
14
FRIGO, M., AND JOHNSON, S. G., 2003. benchFFT home page. http://www.fftw.org/benchfft.
15
 
16
 
17
 
18
INTEL, 2003. Intel software development products. http://www.intel.com/software/products/compilers.
 
19
INTEL, 2004. Intel math kernel library. http://www.intel.com/software/products/mkl.
 
20
 
21
KESSENICH, J., BALDWIN, D., AND ROST, R., 2003. The OpenGL Shading Language. http://www.opengl.org/documentation/oglsl.html.
 
22
 
23
24
 
25
LABONTE, F., HOROWITZ, M., AND BUCK, I., 2004. An evaluation of graphics processors as stream co-processors. Unpublished.
26
27
28
 
29
 
30
31
 
32
MICROSOFT, 2003. High-level shader language. http://msdn.microsoft.com/library/default.asp?url=/library/enus/directx9_c/directx/graphics/reference/Shaders/HighLevelShaderLanguage.asp.
33
 
34
 
35
NVIDIA, 2004. GeForce 6800: Product overview. http://nvidia.com/page/geforce_6800.html.
36
 
37
 
38
PERCY, J., 2003. OpenGL Extensions. http://mirror.ati.com/developer/SIGGRAPH03/Percy_OpenGL_Extensions_SIG03.pdf.
 
39
40
41
42
 
43
 
44
SULLIVAN, W., WERTHIMER, D., BOWYER, S., COBB, J., GEDYE, D., AND ANDERSON, D. 1997. A new major SETI project based on Project Serendip data and 100,000 personal computers. In Astronomical and Biochemical Origins and the Search for Life in the Universe, Proceedings of the Fifth International Conference on Bioastronomy, Editrice Compositori, C. Cosmovici, S. Bowyer, and D. Wertheimer, Eds.
 
45
 
46
 
47
WALD, I. 2004. Realtime Ray Tracing and Interactive Global Illumination. PhD thesis, Saarland University.
 
48
WHALEY, R. C., PETITET, A., AND DONGARRA, J. J. 2001. Automated empirical optimizations of software and the ATLAS project. Parallel Computing 27, 1--2, 3--35.
 
49
WOO, M., NEIDER, J., DAVIS, T., SHREINER, D., AND OPENGL ARCHITECTURE REVIEW BOARD, 1999. OpenGL programming guide.

CITED BY  122

Collaborative Colleagues:
Ian Buck: colleagues
Tim Foley: colleagues
Daniel Horn: colleagues
Jeremy Sugerman: colleagues
Kayvon Fatahalian: colleagues
Mike Houston: colleagues
Pat Hanrahan: colleagues