skip to main content
article

Linear algebra operators for GPU implementation of numerical algorithms

Published:01 July 2003Publication History
Skip Abstract Section

Abstract

In this work, the emphasis is on the development of strategies to realize techniques of numerical computing on the graphics chip. In particular, the focus is on the acceleration of techniques for solving sets of algebraic equations as they occur in numerical simulation. We introduce a framework for the implementation of linear algebra operators on programmable graphics processors (GPUs), thus providing the building blocks for the design of more complex numerical algorithms. In particular, we propose a stream model for arithmetic operations on vectors and matrices that exploits the intrinsic parallelism and efficient communication on modern GPUs. Besides performance gains due to improved numerical computations, graphics algorithms benefit from this model in that the transfer of computation results to the graphics processor for display is avoided. We demonstrate the effectiveness of our approach by implementing direct solvers for sparse matrices, and by applying these solvers to multi-dimensional finite difference equations, i.e. the 2D wave equation and the incompressible Navier-Stokes equations.

Skip Supplemental Material Section

Supplemental Material

kruger_linear.mp4

mp4

36.4 MB

References

  1. ANDERSON, E., BAI, Z., BISCHOF, C., BLACKFORD, S., DEMMEL, J., DONGARRA, J., DU CROZ, J., GREENBAUM, A., HAMMARLING, S., MCKENNEY, A., AND SORENSEN, D. 1999. LAPACK Users' Guide, third ed. Society for Industrial and Applied Mathematics, Philadelphia, PA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. ATI, 2003. Sample effects on the ATI graphics cards. http://www.ati.com/developer/techpapers.html.Google ScholarGoogle Scholar
  3. BARAFF, D., AND WITKIN, A. 1998. Large steps in cloth simulation. Computer Graphics SIGGRAPH 98 Proceedings, 43--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BOLZ, J., FARMER, I., GRINSPUN, E., AND SCHROEDER, P. 2003. Sparse matrix solvers on the GPU: Conjugate gradients and multigrid. Computer Graphics SIGGRAPH 03 Proceedings. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. CHEN, J., AND DA VITORIA LOBO, N. 1995. Towards interactive-rate simulation of fluids with moving obstacles using Navier-Stokes equations. Graphical Models and Image Processing 57, 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. CURTIS, C., ANDERSON, S., SEIMS, J., FLEISCHER, F., AND SALESIN, D. 1997. Computer-generated watercolor. Computer Graphics SIGGRAPH 97 Proceedings. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. DEBUNNE, G., DESBRUN, M., M.-P., C., AND BARR, A. 2001. Dynamic real-time deformations using space and time adaptive sampling. In Computer Graphics SIGGRAPH 01 Proceedings. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. DESBRUN, M., MEYER, M., SCHROEDER, P., AND BARR, A. 1999. Implicit fairing of irregular meshes using diffusion and curvature flow. In Computer Graphics SIGGRAPH 99 Proceedings, 317--324. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. DONGARRA, J., DU CROZ, J., HAMMARLING, S., AND HANSON, R. 1988. An extended set of FORTRAN basic linear algebra subprograms. ACM Transactions on Mathematical Software 14, 1--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. DONGARRA, J., DU CROZ, J., HAMMARLING, S., AND HANSON, R. 1990. A set of level 3 basic linear algebra subprograms,. ACM Transactions on Mathematical Software 16, 1--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. ELDER, G. 2002. Radeon 9700. In Proceedings Eurographics/SIGGRAPH Workshop on Graphics Hardware 2002.Google ScholarGoogle Scholar
  12. FEDKIW, R., STAM, J., AND JENSEN, H. 2001. Visual simulation of smoke. Computer Graphics SIGGRAPH 01 Proceedings, 15--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. FOSTER, N., AND FEDKIW, R. 2001. Practical animation of liquids. Computer Graphics SIGGRAPH 01 Proceedings, 23--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. FOSTER, N., AND METAXAS, D. 1996. Realistic animation of liquids. Graphical Models and Image Processing 58, 5, 471--483. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. HARRIS, M., COOMBE, G., SCHEUERMANN, T., AND LASTRA, A. 2002. Physically-based visual simulation on graphics hardware. In Proceedings Eurographics/SIGGRAPH Workshop on Graphics Hardware 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. HART, J. 2001. Perlin noise pixel shaders. In ProceedingsEurographics/SIGGRAPH Workshop on Graphics Hardware 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. HEIDRICH, W., WESTERMANN, R., SEIDEL, H.-P., AND ERTL, T. 1999. Applications of pixel textures in visualization and realistic image synthesis. In ACM Symposium on Interactive 3D Graphics, 110--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. HILLLESLAND, K., MOLINOV, S., AND GRZESZCZUK, R. 2003. Nonlinear Optimization Framework for Image-Based Modelling on Programmable Graphics Hardware. Computer Graphics SIGGRAPH 03 Proceedings. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. HOPF, M., AND ERTL, T. 1999. Accelerating 3D convolution using graphics hardware. In Proceedings IEEE Visualization'99, 471--474. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. HOPF, M., AND ERTL, T. 2000. Hardware accelerated wavelet transformations. In Proceedings EG/IEEE TCVG Symposium on Visualization VisSym '00, 93--103.Google ScholarGoogle ScholarCross RefCross Ref
  21. JOBARD, B., ERLEBACHER, G., AND HUSSAINI, Y. 2000. Lagrangian-Eulerian advection of noise and dye textures for unsteady flow visualization. In Proceedings IEEE Visualization'00, 110--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. KAAS, M., AND MILLER, G. 1990. Rapid, stable fluid dynamics for computer graphics. Computer Graphics SIGGRAPH 90 Proceedings, 49--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. LARSEN, E. S., AND MCALLISTER, D. 2001. Fast matrix multiplies using graphics hardware. In Proceedings Supercomputing 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. LINDHOLM, E., KILGARD, M., AND MORETON, H. 2001. A user programmable vertex engine. Computer Graphics SIGGRAPH 01 Proceedings. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. MICROSOFT, 2002. DirectX9 SDK. http://www.microsoft.com/DirectX.Google ScholarGoogle Scholar
  26. MONTRYM, J., AND MORETON, H. 2002. GeForce4. In Proceedings Eurographics/SIGGRAPH Workshop on Graphics Hardware 2002.Google ScholarGoogle Scholar
  27. NVIDIA, 2002. nvidia OpenGL game of life. http://www.nvidia.com/view.asp?IO=ogl_gameoflife.Google ScholarGoogle Scholar
  28. NVIDIA, 2003. Sample effects on the nVIDIA graphics cards. http://developer.nvidia.com/view.asp?PAGE=papers.Google ScholarGoogle Scholar
  29. OLANO, M., AND LASTRA, A. 1998. A shading-language on graphics hardware. Computer Graphics SIGGRAPH 98 Proceedings, 159--168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. PRESS, W., TEUKOLSKY, S., VETTERLING, W., AND FLANNERY, B. 2002. Numerical Recipes in C++: The Art of Scientific Computing. Cambridge University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. PURCELL, T., BUCK, I., MARK, W., AND HANRAHAN, P. 2002. Ray tracing on programmable graphics hardware. Computer Graphics SIGGRAPH 98 Proceedings, 703--712. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. STAM, J. 1999. Stable fluids. Computer Graphics SIGGRAPH 99 Proceedings, 121--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. STRZODKA, R., AND RUMPF, M. 2001. Nonlinear diffusion in graphics hardware. In Proceedings EG/IEEE TCVG Symposium on Visualization 2001, 75--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. STRZODKA, R., AND RUMPF, M. 2001. Using graphics cards for quantized FEM computations. In Proceedings VIIP 2001, 98--107.Google ScholarGoogle Scholar
  35. THOMPSON, C., HAHN, S., AND OSKIN, M. 2002. Using modern graphics architectures for general-purpose computing: A framework and analysis. Proceedings of 35th International Symposium on Microarchitecture (MICRO-35). Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. WEISKOPF, D., HOPF, M., AND ERTL, T. 2001. Hardware-accelerated visualization of time-varying 2D and 3D vector fields by texture advection via programmable per-pixel operations. In Proceedings Workshop on Vision, Modeling, and Visualization VMV'01, 439--446. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. WEISKOPF, D., HOPF, M., AND ERTL, T. 2002. Hardware-accelerated Lagrangian-Eulerian texture advection for 2D flow visualization. In Proceedings Workshop on Vision, Modeling, and Visualization VMV '02.Google ScholarGoogle Scholar

Index Terms

  1. Linear algebra operators for GPU implementation of numerical algorithms

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Graphics
          ACM Transactions on Graphics  Volume 22, Issue 3
          July 2003
          683 pages
          ISSN:0730-0301
          EISSN:1557-7368
          DOI:10.1145/882262
          Issue’s Table of Contents

          Copyright © 2003 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 July 2003
          Published in tog Volume 22, Issue 3

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader