GRAMPS

ACM Transactions on Graphics - Tập 28 Số 1 - Trang 1-11 - 2009
Jeremy Sugerman1, Kayvon Fatahalian1, Solomon Boulos1, Kurt Akeley2, Pat Hanrahan1
1Stanford University, Stanford, CA
2[Microsoft Research, Mountain View, CA]

Tóm tắt

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.

Từ khóa


Tài liệu tham khảo

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.

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/.

10.1145/1230100.1230117

10.1145/1141911.1141947

10.1145/1268517.1268547

10.1145/1015706.1015800

10.1145/1071866.1071878

10.1145/1048935.1050187

10.1145/1152154.1152164

10.1145/1071866.1071869

10.1109/MCG.1983.263292

10.1145/1276377.1276492

10.1145/1230100.1230129

Intel. 2008. Intel thread building blocks product documentation. http://www.intel.com/cd/software/products/asmo-na/eng/294797.htm. Intel. 2008. Intel thread building blocks product documentation. http://www.intel.com/cd/software/products/asmo-na/eng/294797.htm.

Kapasi U., Proceedings IEEE International Conference on Computer Design, 282--288

10.1109/MM.2005.35

10.1145/1250662.1250683

10.1109/MM.2008.31

10.1145/1186562.1015801

MIPS Technologies Inc. 2005. MIPS64 architecture. http://mips.com/products/architectures/mips64/. MIPS Technologies Inc. 2005. MIPS64 architecture. http://mips.com/products/architectures/mips64/.

NVIDIA. 2007. NVIDIA CUDA programming guide. http://developer.download.nvidia.com/compute/cuda/1_1/NVIDIA_CUDA_Programming_Guide_1.1.pdf. NVIDIA. 2007. NVIDIA CUDA programming guide. http://developer.download.nvidia.com/compute/cuda/1_1/NVIDIA_CUDA_Programming_Guide_1.1.pdf.

Owens J. D., Proceedings of the Workshop on Graphics Hardware, 47--56

10.1109/ISSCC.2005.1493930

Segal M. and Akeley K. 2006. The OpenGL 2.1 specification. http://www.opengl.org/registry/doc/glspec21.20061201.pdf. Segal M. and Akeley K. 2006. The OpenGL 2.1 specification. http://www.opengl.org/registry/doc/glspec21.20061201.pdf.

10.1145/1360612.1360617

10.1145/1168919.1168898

Thies W., International Conference on Compiler Construction.