Abstract
Using graphics hardware for general-purpose computations (GPGPU) has for selected applications shown a performance increase of more than one order of magnitude compared to traditional CPU implementations. The intent of this paper is to give an introduction to the use of graphics hardware as a computational resource. Understanding the architecture of graphics hardware is essential to comprehend GPGPU-programming. This paper first addresses the fixed functionality graphics pipeline, and then explains the architecture and programming model of programmable graphics hardware. As the CPU is instruction driven, while a graphics processing unit (GPU) is data stream driven, a good CPU algorithm is not necessarily well suited for GPU implementation. We will illustrate this with some commonly used GPU algorithms. The paper winds up with examples of GPGPU-research at SINTEF within simulation, visualization, image processing, and geometry processing.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. E. Batcher. Sorting networks and their applications. In AFIPS Spring Joint Computing Conference, pages 307–314, 1968.
J. Bolz, I. Farmer, E. Grinspun, and P. Schröder. Sparse matrix solvers on the GPU: conjugate gradients and multigrid. ACM Trans. Graph., 22(3):917–924, 2003.
J. Bolz and P. Schröder. Evaluation of subdivision surfaces on programmable graphics hardware. Submitted for publication, 2003.
M. Botsch, D. Bommes, C. Vogel, and L. Kobbelt. GPU-based tolerance volumes for mesh processing. In Proceedings of the 12th Pacific Conference on Computer Graphics and Applications (PG’ 04), pages 237–243, Washington, DC, USA, 2004. IEEE Computer Society.
T. Boubekeur and C. Schlick. Generic mesh refinement on GPU. In HWWS’ 05: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, pages 99–104, New York, NY, USA, 2005. ACM Press.
S. Briseid, T. Dokken, T. R. Hagen, and J. O. Nygaard. Spline surface intersections optimized for GPUs. In V.N. Alexandrov, G.D. van Albada, P.M.A. Sloot, and J. Dongarra, editors, Computational Science-ICCS 2006: 6th International Conference, Reading, UK, May 28–31, 2006, Proceedings, Part IV, volume 3994 of Lecture Notes in Computer Science (LNCS), pages 204–211. Springer, 2006.
I. Buck, T. Foley, D. Horn, J. Sugerman, K. Fatahalian, M. Houston, and P. Hanrahan. Brook for GPUs: stream computing on graphics hardware. ACM Trans. Graph., 23(3):777–786, 2004.
T. Dokken and V. Skytt. Intersection algorithms and CAGD. In this book.
C. Dyken and M. Reimers. Real-time linear silhouette enhancement. In M. Dæhlen, K. Mørken, and L. Schumaker, editors, Mathematical Methods for Curves and Surfaces: Tromsø 2004, pages 135–144. Nashboro Press, 2004.
C. Dyken, J. S. Seland, and M. Reimers. Real time silhouette enhancement using graphics hardware. To appear in Computer Graphics Forum.
R. Fernando and M. J. Kilgard. The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics. Addison-Wesley Longman Publishing Co., Inc., 2003.
http://graphics.stanford.edu/projects/gpubench.
M. Guthe, Á. Balázs, and R. Klein. GPU-based trimming and tessellation of NURBS and T-Spline surfaces. ACM Trans. Graph., 24(3):1016–1023, 2005.
D. Göddeke, R. Strzodka, and S. Turek. Accelerating Double Precision FEM Simulations with GPUs In Proceedings of ASIM 2005-18th Symposium on Simulation Technique, pages 139–144, 2005.
T. R. Hagen, M. O. Henriksen, J. M. Hjelmervik, and K.-A. Lie. Using the graphics processor as a high-performance computational engine for solving systems of hyperbolic conservation laws. In this book.
T. R. Hagen, J. M. Hjelmervik, K.-A. Lie, J. R. Natvig, and M. O. Henriksen. Visual simulation of shallow-water waves. Simulation Practice and Theory. Special Issue on Programmable Graphics Hardware, 13(9):716–726, 2005.
T. R. Hagen, K.-A. Lie, and J. R. Natvig. Solving the Euler equations on graphical processing units. In V.N. Alexandrov, G.D. van Albada, P.M.A. Sloot, and J. Dongarra, editors, Computational Science-ICCS 2006: 6th International Conference, Reading, UK, May 28–31, 2006, Proceedings, Part IV, volume 3994 of Lecture Notes in Computer Science (LNCS), pages 220–227. Springer Verlag, 2006.
O. Haugehåtveit, J. M. Hovem, and T. R. Hagen. Calculation of underwater sound fields on GPU. Preprint, 2006.
J. M. Hjelmervik and T. R. Hagen. GPU-based screen space tessellation. In M. Dæhlen, K. Mørken, and L. L. Schumaker, editors, Mathematical Methods for Curves and Surfaces: Tromsø 2004, pages 213–221. Nashboro Press, 2005.
J. M. Hjelmervik, T. R. Hagen, and J. Seland. Shallows, 2005. http://shallows.sourceforge.net.
J. M. Hjelmervik and J.-C. Léon. GPU-accelerated shape simplification for mechanical-based applications. Submitted for publication, 2006.
J. M. Hovem, H. Dong, and X. Li. A forward model for geoacoustic inversion based on ray tracing and plane-wave refection coefficients. In Proc. of the 2nd Workshop on Acoustic Inversion methods and Experiments for Assessment of the Shallow Water Environment, Iscia, Italy, 28–30 June, 2004.
T. Kanai and Y. Yasui. Surface quality assessment of subdivision surfaces on programmable graphics hardware. In Proc. International Conference on Shape Modeling and Applications 2004, pages 129–136, Los Alamitos, CA, 2004. IEEE CS Press.
U. J. Kapasi, W. J. Dally, S. Rixner, P. R. Mattson, J. D. Owens, and B. Khailany. Efficient conditional operations for data-parallel architectures. In MICRO 33: Proceedings of the 33rd annual ACM/IEEE international symposium on Microarchitecture, pages 159–170, New York, NY, USA, 2000. ACM Press.
J. Krüger and R. Westermann. Linear algebra operators for GPU implementation of numerical algorithms. ACM Trans. Graph., 22(3):908–916, 2003.
A. E. Lefohn, S. Sengupta, J. Kniss, R. Strzodka, and J. D. Owens. Glift: Generic, efficient, random-access GPU data structures. ACM Transactions on Graphics, 25(1):60–99, Jan. 2006.
C. Loop and J. Blinn. Real-time GPU rendering of piecewise algebraic surfaces. ACM Transactions on Graphics, 25(3), 2006.
J. D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Krüger, A. E. Lefohn, and T. J. Purcell. A survey of general-purpose computation on graphics hardware. In Eurographics 2005, State of the Art Reports, pages 21–51, Aug. 2005.
C. Peeper and J. L. Mitchell. Introduction to the DirectX 9 high level shading language. In W. Engel, editor, ShaderX2: Introduction and Tutorials with DirectX 9. Wordware, Plano, Texas, 2003.
T. J. Purcell, C. Donner, M. Cammarano, H. W. Jensen, and P. Hanrahan. Photon mapping on programmable graphics hardware. In Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware, pages 41–50. Eurographics Association, 2003.
R. J. Rost. OpenGL Shading Language. Addison-Wesley Longman Publishing Co., Inc., 2004.
M. Rumpf and R. Strzodka. Using graphics cards for quantized FEM computations. In Proceedings of IASTED Visualization, Imaging and Image Processing Conference, pages 193–202. 2001.
J. Seland and T. Dokken. Real-time algebraic surface visualization. In this book.
D. Shreiner, M. Woo, J. Neider, and T. Davis. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2. Addison-Wesley Longman Publishing Co., Inc., 2005.
X.-C. Tai, S. Osher, and R. Holm. Image inpainting using a TV-Stokes equation. In X.-C. Tai, K.-A. Lie, T. F. Chan, and S. Osher, editors, Image Processing Based on Partial Differential Equations, pages 3–22. Springer, 2007.
D. Tarditi, S. Puri, and J. Oglesby. Accelerator: simplified programming of graphics processing units for general-purpose uses via data-parallelism. Technical report, Microsoft Research, December 2005.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Dokken, T., Hagen, T.R., Hjelmervik, J.M. (2007). An Introduction to General-Purpose Computing on Programmable Graphics Hardware. In: Hasle, G., Lie, KA., Quak, E. (eds) Geometric Modelling, Numerical Simulation, and Optimization. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68783-2_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-68783-2_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-68782-5
Online ISBN: 978-3-540-68783-2
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)