Comparing Reyes and OpenGL on a stream architecture
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
StreamIt: A Language for Streaming Applications
CC '02 Proceedings of the 11th International Conference on Compiler Construction
ICCD '02 Proceedings of the 2002 IEEE International Conference on Computer Design: VLSI in Computers and Processors (ICCD'02)
Brook for GPUs: stream computing on graphics hardware
ACM SIGGRAPH 2004 Papers
ACM SIGGRAPH 2004 Papers
Ray tracing on a stream processor
Ray tracing on a stream processor
Merrimac: Supercomputing with Streams
Proceedings of the 2003 ACM/IEEE conference on Supercomputing
KD-tree acceleration structures for a GPU raytracer
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
A reconfigurable architecture for load-balanced rendering
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
ACM SIGGRAPH 2006 Papers
Compiling for stream processing
Proceedings of the 15th international conference on Parallel architectures and compilation techniques
Accelerator: using data parallelism to program GPUs for general-purpose uses
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Multi-fragment effects on the GPU using the k-buffer
Proceedings of the 2007 symposium on Interactive 3D graphics and games
Interactive k-d tree GPU raytracing
Proceedings of the 2007 symposium on Interactive 3D graphics and games
Carbon: architectural support for fine-grained parallelism on chip multiprocessors
Proceedings of the 34th annual international symposium on Computer architecture
Packet-based whitted and distribution ray tracing
GI '07 Proceedings of Graphics Interface 2007
PCU: the programmable culling unit
ACM SIGGRAPH 2007 papers
A Testbed for Realistic Image Synthesis
IEEE Computer Graphics and Applications
Larrabee: a many-core x86 architecture for visual computing
ACM SIGGRAPH 2008 papers
A Framework for Object-Oriented Shader Design
ISVC '09 Proceedings of the 5th International Symposium on Advances in Visual Computing: Part I
FreePipe: a programmable parallel rendering architecture for efficient multi-fragment effects
Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games
Flexible architectural support for fine-grain scheduling
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Coherent depth test scheme in FreePipe
Proceedings of the 9th ACM SIGGRAPH Conference on Virtual-Reality Continuum and its Applications in Industry
Task management for irregular-parallel workloads on the GPU
Proceedings of the Conference on High Performance Graphics
Architecture considerations for tracing incoherent rays
Proceedings of the Conference on High Performance Graphics
MICRO '43 Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture
Spark: modular, composable shaders for graphics hardware
ACM SIGGRAPH 2011 papers
High-performance software rasterization on GPUs
Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics
Softshell: dynamic scheduling on GPUs
ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH Asia 2012
Using vector interfaces to deliver millions of IOPS from a networked key-value storage server
Proceedings of the Third ACM Symposium on Cloud Computing
DANBI: dynamic scheduling of irregular stream programs for many-core systems
PACT '13 Proceedings of the 22nd international conference on Parallel architectures and compilation techniques
Hi-index | 0.00 |
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.