GRAMPS: A Programming Model for Graphics Pipelines
Jeremy Sugerman, Kayvon Fatahalian, Solomon Boulos, Kurt Akeley, Pat Hanrahan
In ACM Transactions on Graphics, 28(1), January 2009.
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.
Keyword(s): Graphics pipelines, many-core architectures, GPUs, stream computing, parallel programming
Article URL: http://doi.acm.org/ 10.1145/1477926.1477930
BibTeX format:
@article{Sugerman:2009:GAP,
  author = {Jeremy Sugerman and Kayvon Fatahalian and Solomon Boulos and Kurt Akeley and Pat Hanrahan},
  title = {GRAMPS: A Programming Model for Graphics Pipelines},
  journal = {ACM Transactions on Graphics},
  volume = {28},
  number = {1},
  pages = {4:1--4:11},
  month = jan,
  year = {2009},
}
Search for more articles by Jeremy Sugerman.
Search for more articles by Kayvon Fatahalian.
Search for more articles by Solomon Boulos.
Search for more articles by Kurt Akeley.
Search for more articles by Pat Hanrahan.

Return to the search page.


graphbib: Powered by "bibsql" and "SQLite3."