ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Glift: Generic, efficient, random-access GPU data structures
Full text PdfPdf (1.52 MB)
Source ACM Transactions on Graphics (TOG) archive
Volume 25 ,  Issue 1  (January 2006) table of contents
Pages: 60 - 99  
Year of Publication: 2006
ISSN:0730-0301
Authors
Aaron E. Lefohn  University of California, Davis, Davis, CA
Shubhabrata Sengupta  University of California, Davis, Davis, CA
Joe Kniss  University of Utah, Salt Lake City, UT
Robert Strzodka  Stanford University, Stanford, CA
John D. Owens  University of California, Davis, Davis, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 41,   Downloads (12 Months): 231,   Citation Count: 19
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1122501.1122505
What is a DOI?

ABSTRACT

This article 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 three-dimensional paint. Last, we show that our example Glift data structures perform comparably to handwritten implementations while requiring only a fraction of the programming effort.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
An, P., Jula, A., Rus, S., Saunders, S., Smith, T., Tanase, G., Thomas, N., Amato, N., and Rauchwerger, L. 2001. STAPL: An adaptive, generic parallel C++ library. In Proceedings of the Workshop on Languages and Compilers for Parallel Computing. 193--208.
3
4
 
5
Beyond3D. 2003. DirectX next early preview. Go online to http://www.beyond3d.com/articles/directxnext/.
 
6
7
 
8
Boost. 2005. Boost C++ libraries. Go online to http://www.boost.org/.
 
9
Buck, I. 2005. Taking the plunge into GPU computing. In GPU Gems 2, M. Pharr, Ed. Addison-Wesley, Reading, MA, Chap. 32, 509--519.
 
10
Buck, I., Fatahalian, K., and Hanrahan, P. 2004a. GPUBench: Evaluating GPU performance for numerical and scientific applications. In Proceedings of the 2004 ACM Workshop on General-Purpose Computing on Graphics Processors. C-20.
11
12
 
13
Christensen, P. H. and Batali, D. 2004. An irradiance atlas for global illumination in complex production scenes. In Proceedings of Rendering Techniques 2004. 133--141.
 
14
Cole, M. and Parker, S. 2003. Dynamic compilation of C++ template code. In Scientific Programming, vol. 11. IOS Press, Amsterdam, The Netherlands, 321--327.
 
15
16
 
17
Ernst, M., Vogelgsang, C., and Greiner, G. 2004. Stack implementation on programmable graphics hardware. In Proceedings of Vision, Modeling, and Visualization. 255--262.
18
19
 
20
 
21
Govindaraju, N. K., Raghuvanshi, N., Henson, M., Tuft, D., and Manocha, D. 2005. A cache-efficient sorting algorithm for database and data mining computations using graphics processors. Tech. rep. TR05-016. University of North Carolina, Chapel Hill, NC.
22
 
23
Harris, M. and Buck, I. 2005. GPU flow control idioms. In GPU Gems 2, M. Pharr, Ed. Addison Wesley, Reading, MA, Chap. 34, 547--555.
 
24
25
 
26
Hoel, E. G. and Samet, H. 1995. Data-parallel primitives for spatial operations. In Proceedings of the 1995 International Conference on Parallel Processing. III:184--191.
 
27
Horn, D. 2005. Stream reduction operations for GPGPU applications. In GPU Gems 2, M. Pharr, Ed. Addison Wesley, Reading, MA, Chap. 36, 573--589.
28
 
29
Karmesin, S., Haney, S., Humphrey, B., Cummings, J., Williams, T., Crotinger, J., Smith, S., and Gavrilov, E. 2002. Pooma: Parallel object-oriented methods and applications. Go online to http://acts.nersc.gov/pooma/.
 
30
Kendall, R. A., Sosonkina, M., Gropp, W. D., Numrich, R. W., and Sterling, T. 2005. Parallel programming models applicable to cluster computing and beyond. In Numerical Solution of Partial Differential Equations on Parallel Computers, A. M. Bruaset and A. Tveito, Eds. Lecture Notes in Computational Science and Engineering, vol. 51. Springer-Verlag, Berlin, Germany.
 
31
Kessenich, J., Baldwin, D., and Rost, R. 2004. The OpenGL Shading Language version 1.10.59. Go online to http://www.opengl.org/documentation/oglsl.html.
 
32
Kilburn, T., Edwards, D. B. G., Lanigan, M. J., and Sumner, F. H. 1962. One-level storage system. IRE Trans. Electron. Comput. EC-11, 223--235.
 
33
 
34
Lefebvre, S., Hornus, S., and Neyret, F. 2004. All-purpose texture sprites. Tech. rep. 5209. INRIA, Rocquencourt, France.
 
35
Lefohn, A., Kniss, J., and Owens, J. 2005. Implementing efficient parallel data structures on GPUs. In GPU Gems 2, M. Pharr, Ed. Addison Wesley, Reading, MA, Chap. 33, 521--545.
 
36
 
37
Lefohn, A. E., Kniss, J. M., Hansen, C. D., and Whitaker, R. T. 2004. A streaming narrow-band algorithm: Interactive computation and visualization of level-set surfaces. IEEE Trans. Visual. Comput. Graph. 10, 4 (July/Aug.), 422--433.
38
39
40
41
 
42
 
43
NVIDIA Developer Relations. 2003. Cg: C for graphics. Go online to http://developer.nvidia.com/.
 
44
Owens, J. D., Luebke, D., Govindaraju, N., Harris, M., Krüger, J., Lefohn, A. E., and Purcell, T. 2005. A survey of general-purpose computation on graphics hardware. In Proceedings of Eurographics 2005, State of the Art Reports. 21--51.
 
45
Pharr, M. 2004. An introduction to shader interfaces. In GPU Gems, R. Fernando, Ed. Addison Wesley, Reading, MA, Chap. 32, 537--550.
46
47
 
48
 
49
50
51
52
 
53
Strzodka, R. and Telea, A. 2004. Generalized distance transforms and skeletons in graphics hardware. In Proceedings of EG/IEEE TCVG Symposium on Visualization (VisSym '04). 221--230.
54
 
55
Thrane, N. and Simonsen, L. O. 2005. A comparison of acceleration structures for GPU assisted ray tracing. M.S. thesis. University of Aarhus, Aarhus, Denmark.
 
56
Wimmer, M., Scherzer, D., and Purgathofer, W. 2004. Light space perspective shadow maps. In Proceedings of the Eurographics Symposium on Rendering. 143--151.

CITED BY  19

Collaborative Colleagues:
Aaron E. Lefohn: colleagues
Shubhabrata Sengupta: colleagues
Joe Kniss: colleagues
Robert Strzodka: colleagues
John D. Owens: colleagues