
|
|
|
| Title | Glift: Generic, Efficient, Random-Access GPU Data Structures
(Article) |
| in | ACM Transactions on Graphics |
| Author(s) |
Aaron Lefohn, Joe M. Kniss, Robert Strzodka, Shubhabrata Sengupta, John D. Owens |
| Year |
January 2006
|
| Volume | 25 |
| Number | 1 |
| URL | http://graphics.cs.ucdavis.edu/~lefohn/work/glift/ |
| Pages | 60--99 |
| Download |  |
| BibTeX |  |
| Abstract |
This paper presents Glift, an abstraction and generic template library
for defining complex, random-access graphics processor (GPU) data
structures. Like modern CPU data structure libraries, Glift enables
GPU programmers to separate algorithms from data structure
definitions; thereby greatly simplifying algorithmic development and
enabling reusable and interchangeable data structures. We characterize
a large body of previously published GPU data structures in terms of
our abstraction and present several new GPU data structures. The
structures, a stack, quadtree, and octree, are explained using simple
Glift concepts and implemented using reusable Glift components. We
also describe two applications of these structures not previously
demonstrated on GPUs: adaptive shadow maps and octree 3D
paint. Lastly, we show that our example Glift data structures perform
comparably to handwritten implementations while requiring only a
fraction of the programming effort.
|
| Note |
Thanks to our funding agencies: NSF (Graduate Fellowship + Award 0541448), DOE (Graduate Fellowship + VIEWs + ECPI Award DE-FG02-04ER25609), LANL, Chevron, UC MICRO, and the Caesar Research Institute.
|