Login


TitleGlift: Generic, Efficient, Random-Access GPU Data Structures (Article)
inACM Transactions on Graphics
Author(s) Aaron Lefohn, Joe M. Kniss, Robert Strzodka, Shubhabrata Sengupta, John D. Owens
Year January 2006
Volume25
Number1
URLhttp://graphics.cs.ucdavis.edu/~lefohn/work/glift/
Pages60--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.