Glift: Generic, efficient, random-access GPU data structures. 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.
Keywords for this software
References in zbMATH (referenced in 5 articles )
Showing results 1 to 5 of 5.
- Kohek, Štefan; Strnad, Damjan: Interactive synthesis of self-organizing tree models on the GPU (2015) ioport
- Andon, P. I.; Doroshenko, A. Yu.; Zhereb, K. A.: Programming high-performance parallel computations: formal models and graphics processing units (2011) ioport
- Amara, Yacine; Marsault, Xavier: A GPU tile-load-map architecture for terrain rendering: theory and applications (2009) ioport
- Dokken, Tor; Hagen, Trond Runar; Hjelmervik, Jon Mikkelsen: An introduction to general-purpose computing on programmable graphics hardware (2007)
- Lefohn, Aaron E.; Sengupta, Shubhabrata; Kniss, Joe; Strzodka, Robert; Owens, John D.: Glift: Generic, efficient, random-access GPU data structures. (2006) ioport