GRAMPS
Authors:
Open Access
- 1 January 2009
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Graphics
- Vol. 28 (1) , 1-11
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.Keywords
Funding Information
- U.S. Army Research Laboratory (W911NF-07-2-0027)
This publication has 18 references indexed in Scilit:
- PCUACM Transactions on Graphics, 2007
- Multi-fragment effects on the GPU using the k -buffer2007
- Packet-based whitted and distribution ray tracingProceedings. Graphics Interface (conference), 2007
- Compiling for stream processing2006
- The Direct3D 10 systemACM Transactions on Graphics, 2006
- A reconfigurable architecture for load-balanced rendering2005
- KD-tree acceleration structures for a GPU raytracer2005
- Brook for GPUsACM Transactions on Graphics, 2004
- Merrimac2003
- A Testbed for Realistic Image SynthesisIEEE Computer Graphics and Applications, 1983