Affiliation:
1. Stanford University, Stanford, CA
2. Microsoft Research, Mountain View, CA
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.
Funder
U.S. Army Research Laboratory
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design
Reference27 articles.
1. AMD. 2008a. AMD radeon HD 4800 product documentation. http://ati.amd.com/products/radeonhd4800. 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/. AMD. 2008b. ATI stream computing web site. http://ati.amd.com/technology/streamcomputing/.
3. Multi-fragment effects on the GPU using the k-buffer
4. The Direct3D 10 system
5. Packet-based whitted and distribution ray tracing
Cited by
35 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献