| GRAMPS: A programming model for graphics pipelines |
| Full text |
Pdf
(3.08 MB)
|
Source
|
ACM Transactions on Graphics (TOG)
archive
Volume 28 , Issue 1 (January 2009)
table of contents
Article No. 4
Year of Publication: 2009
ISSN:0730-0301
|
|
Authors
|
|
Jeremy Sugerman
|
Stanford University, Stanford, CA
|
|
Kayvon Fatahalian
|
Stanford University, Stanford, CA
|
|
Solomon Boulos
|
Stanford University, Stanford, CA
|
|
Kurt Akeley
|
Microsoft Research, Mountain View, CA
|
|
Pat Hanrahan
|
Stanford University, Stanford, CA
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 71, Downloads (12 Months): 520, Citation Count: 0
|
|
|
ABSTRACT
We introduce GRAMPS, a programming model that generalizes concepts from modern real-time graphics pipelines by exposing a model of execution containing both fixed-function and application-programmable processing stages that exchange data via queues. GRAMPS allows the number, type, and connectivity of these processing stages to be defined by software, permitting arbitrary processing pipelines or even processing graphs. Applications achieve high performance using GRAMPS by expressing advanced rendering algorithms as custom pipelines, then using the pipeline as a rendering engine. We describe the design of GRAMPS, then evaluate it by implementing three pipelines, that is, Direct3D, a ray tracer, and a hybridization of the two, and running them on emulations of two different GRAMPS implementations: a traditional GPU-like architecture and a CPU-like multicore architecture. In our tests, our GRAMPS schedulers run our pipelines with 500 to 1500KB of queue usage at their peaks.
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
|
AMD. 2008a. AMD radeon HD 4800 product documentation. http://ati.amd.com/products/radeonhd4800.
|
| |
2
|
AMD. 2008b. ATI stream computing web site. http://ati.amd.com/technology/streamcomputing/.
|
 |
3
|
Louis Bavoil , Steven P. Callahan , Aaron Lefohn , João L. D. Comba , Cláudio T. Silva, Multi-fragment effects on the GPU using the k-buffer, Proceedings of the 2007 symposium on Interactive 3D graphics and games, April 30-May 02, 2007, Seattle, Washington
[doi> 10.1145/1230100.1230117]
|
 |
4
|
|
 |
5
|
Solomon Boulos , Dave Edwards , J. Dylan Lacewell , Joe Kniss , Jan Kautz , Peter Shirley , Ingo Wald, Packet-based whitted and distribution ray tracing, Proceedings of Graphics Interface 2007, May 28-30, 2007, Montreal, Canada
[doi> 10.1145/1268517.1268547]
|
 |
6
|
Ian Buck , Tim Foley , Daniel Horn , Jeremy Sugerman , Kayvon Fatahalian , Mike Houston , Pat Hanrahan, Brook for GPUs: stream computing on graphics hardware, ACM Transactions on Graphics (TOG), v.23 n.3, August 2004
|
 |
7
|
Jiawen Chen , Michael I. Gordon , William Thies , Matthias Zwicker , Kari Pulli , Frédo Durand, A reconfigurable architecture for load-balanced rendering, Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, July 30-31, 2005, Los Angeles, California
[doi> 10.1145/1071866.1071878]
|
| |
8
|
William J. Dally , Francois Labonte , Abhishek Das , Patrick Hanrahan , Jung-Ho Ahn , Jayanth Gummaraju , Mattan Erez , Nuwan Jayasena , Ian Buck , Timothy J. Knight , Ujval J. Kapasi, Merrimac: Supercomputing with Streams, Proceedings of the 2003 ACM/IEEE conference on Supercomputing, p.35, November 15-21, 2003
|
 |
9
|
|
 |
10
|
|
| |
11
|
|
 |
12
|
|
 |
13
|
|
| |
14
|
Intel. 2008. Intel thread building blocks product documentation. http://www.intel.com/cd/software/products/asmo-na/eng/294797.htm.
|
| |
15
|
|
| |
16
|
|
 |
17
|
|
| |
18
|
|
 |
19
|
Michael McCool , Stefanus Du Toit , Tiberiu Popa , Bryan Chan , Kevin Moule, Shader algebra, ACM SIGGRAPH 2004 Papers, August 08-12, 2004, Los Angeles, California
|
| |
20
|
MIPS Technologies Inc. 2005. MIPS64 architecture. http://mips.com/products/architectures/mips64/.
|
| |
21
|
NVIDIA. 2007. NVIDIA CUDA programming guide. http://developer.download.nvidia.com/compute/cuda/1_1/NVIDIA_CUDA_Programming_Guide_1.1.pdf.
|
| |
22
|
|
| |
23
|
Pham, D., Asano, S., Bolliger, M., Day, M., Hofstee, H., Johns, C., Kahle, J., Kameyama, A., Keaty, J., Masubuchi, Y., et al. 2005. The design and implementation of a first-generation CELL processor. In Proceedings of the IEEE International Solid-State Circuits Conference (ISSCC'05), 184--186.
|
| |
24
|
|
| |
25
|
Segal, M. and Akeley, K. 2006. The OpenGL 2.1 specification. http://www.opengl.org/registry/doc/glspec21.20061201.pdf.
|
 |
26
|
Larry Seiler , Doug Carmean , Eric Sprangle , Tom Forsyth , Michael Abrash , Pradeep Dubey , Stephen Junkins , Adam Lake , Jeremy Sugerman , Robert Cavin , Roger Espasa , Ed Grochowski , Toni Juan , Pat Hanrahan, Larrabee: a many-core x86 architecture for visual computing, ACM Transactions on Graphics (TOG), v.27 n.3, August 2008
|
| |
27
|
Tarditi, D., Puri, S., and Oglesby, J. 2006. Accelerator: Using data parallelism to program GPUs for general-purpose uses. SIGOPS Oper. Syst. Rev. 40, 5, 325--335.
|
| |
28
|
|
|