* Awarded the 2006 Best Doctoral Dissertation from the Computer Science Department at UC Davis *
![]() |
![]() |
![]() |
![]() |
||
This dissertation demonstrates that a data structure abstraction for graphics processing units (GPUs) can simplify the description of new and existing data structures, stimulate development of complex GPU algorithms, and perform equivalently to hand-coded implementations. We define the GPU computation model in terms of parallel iteration over data structure elements and demonstrate iteration over complex structures. We also present a case that future interactive rendering solutions will be an inseparable mix of general-purpose, data-parallel GPU programming (GPGPU) and traditional graphics programming.We introduce an abstraction, Glift, for easily creating, accessing, and traversing parallel, random-access data structures on graphics hardware. The abstraction factors GPU data structures into four components: physical memory, programmable address translation, virtual memory, and iterators. We implement the abstraction as a C++ and Cg template library and show that the resulting code is nearly as efficient as low-level, hand-written code. Glift makes it possible to separate GPU data structure and algorithm development and description, and demonstrate how this separation reduces programming complexity. We characterize a large number of previous GPU data structures in terms of Glift abstractions, thereby illuminating many similarities between seemingly diverse structures. We describe novel, complex GPU data structuresa GPU stack, quadtree, and octreein terms of generic Glift components. Lastly, we demonstrate four novel interactive rendering algorithms built using Glift data structures: octree 3D paint, dynamic adaptive shadow maps, resolution-matched shadow maps, and a heat-diffusion depth-of-field algorithm.
36.1 MB PDF (high-res images)
6.3 MB PDF (low-res images)
Bibtex
5.0 MB PDF
Resolution-Matched Shadow Maps
A. E. Lefohn, S. Sengupta, J. D. Owens
ACM Transactions on Graphics, 26 (4), pp. 20:1 - 20:17, Oct. 2007Dynamic Adaptive Shadow Maps on Graphics Hardware
A. Lefohn, S. Sengupta, J. Kniss, R. Strzodka, J. D. Owens
Technical Sketch at ACM SIGGRAPH 2005Octree Textures on Graphics Hardware
J. Kniss, A. Lefohn, R. Strzodka, S. Sengupta, J. D. Owens
Technical Sketch at ACM SIGGRAPH 2005Implementing Efficient Parallel Data Structures on GPUs
A. Lefohn, J. Kniss, J. Owens
Chapter 33 in GPU Gems II: Programming Techniques for High-Performance Graphics and General-Purpose Computation
Addison Wesley, pp. 521545, 2005