Glift: Generic Data Structures for Graphics Hardware

Aaron E. Lefohn, Ph.D. dissertation, Computer Science Department, University of California Davis, September 2006.

* Awarded the 2006 Best Doctoral Dissertation from the Computer Science Department at UC Davis *

Thesis Statement

Abstract

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 structures—a GPU stack, quadtree, and octree—in 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.

Dissertation

36.1 MB PDF (high-res images)
6.3 MB PDF (low-res images)
Bibtex

Dissertation Defense Slides

5.0 MB PDF

Publications From Dissertation