Skip to main content

An Introduction to General-Purpose Computing on Programmable Graphics Hardware

  • Chapter
Geometric Modelling, Numerical Simulation, and Optimization

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. E. Batcher. Sorting networks and their applications. In AFIPS Spring Joint Computing Conference, pages 307–314, 1968.

    Google Scholar 

  2. 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.

    Article  Google Scholar 

  3. J. Bolz and P. Schröder. Evaluation of subdivision surfaces on programmable graphics hardware. Submitted for publication, 2003.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Article  Google Scholar 

  8. T. Dokken and V. Skytt. Intersection algorithms and CAGD. In this book.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. C. Dyken, J. S. Seland, and M. Reimers. Real time silhouette enhancement using graphics hardware. To appear in Computer Graphics Forum.

    Google Scholar 

  11. R. Fernando and M. J. Kilgard. The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics. Addison-Wesley Longman Publishing Co., Inc., 2003.

    Google Scholar 

  12. http://graphics.stanford.edu/projects/gpubench.

    Google Scholar 

  13. 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.

    Article  Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. O. Haugehåtveit, J. M. Hovem, and T. R. Hagen. Calculation of underwater sound fields on GPU. Preprint, 2006.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. J. M. Hjelmervik, T. R. Hagen, and J. Seland. Shallows, 2005. http://shallows.sourceforge.net.

    Google Scholar 

  21. J. M. Hjelmervik and J.-C. Léon. GPU-accelerated shape simplification for mechanical-based applications. Submitted for publication, 2006.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. 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.

    Google Scholar 

  25. J. Krüger and R. Westermann. Linear algebra operators for GPU implementation of numerical algorithms. ACM Trans. Graph., 22(3):908–916, 2003.

    Article  Google Scholar 

  26. 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.

    Article  Google Scholar 

  27. C. Loop and J. Blinn. Real-time GPU rendering of piecewise algebraic surfaces. ACM Transactions on Graphics, 25(3), 2006.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. 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.

    Google Scholar 

  31. R. J. Rost. OpenGL Shading Language. Addison-Wesley Longman Publishing Co., Inc., 2004.

    Google Scholar 

  32. 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.

    Google Scholar 

  33. J. Seland and T. Dokken. Real-time algebraic surface visualization. In this book.

    Google Scholar 

  34. 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.

    Google Scholar 

  35. 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.

    Google Scholar 

  36. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics