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.
Supplemental Material
- 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 ScholarDigital Library
- ATI, 2003. Sample effects on the ATI graphics cards. http://www.ati.com/developer/techpapers.html.Google Scholar
- BARAFF, D., AND WITKIN, A. 1998. Large steps in cloth simulation. Computer Graphics SIGGRAPH 98 Proceedings, 43--54. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- CURTIS, C., ANDERSON, S., SEIMS, J., FLEISCHER, F., AND SALESIN, D. 1997. Computer-generated watercolor. Computer Graphics SIGGRAPH 97 Proceedings. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- ELDER, G. 2002. Radeon 9700. In Proceedings Eurographics/SIGGRAPH Workshop on Graphics Hardware 2002.Google Scholar
- FEDKIW, R., STAM, J., AND JENSEN, H. 2001. Visual simulation of smoke. Computer Graphics SIGGRAPH 01 Proceedings, 15--22. Google ScholarDigital Library
- FOSTER, N., AND FEDKIW, R. 2001. Practical animation of liquids. Computer Graphics SIGGRAPH 01 Proceedings, 23--30. Google ScholarDigital Library
- FOSTER, N., AND METAXAS, D. 1996. Realistic animation of liquids. Graphical Models and Image Processing 58, 5, 471--483. Google ScholarDigital Library
- 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 ScholarDigital Library
- HART, J. 2001. Perlin noise pixel shaders. In ProceedingsEurographics/SIGGRAPH Workshop on Graphics Hardware 2001. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- HOPF, M., AND ERTL, T. 1999. Accelerating 3D convolution using graphics hardware. In Proceedings IEEE Visualization'99, 471--474. Google ScholarDigital Library
- HOPF, M., AND ERTL, T. 2000. Hardware accelerated wavelet transformations. In Proceedings EG/IEEE TCVG Symposium on Visualization VisSym '00, 93--103.Google ScholarCross Ref
- 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 ScholarDigital Library
- KAAS, M., AND MILLER, G. 1990. Rapid, stable fluid dynamics for computer graphics. Computer Graphics SIGGRAPH 90 Proceedings, 49--57. Google ScholarDigital Library
- LARSEN, E. S., AND MCALLISTER, D. 2001. Fast matrix multiplies using graphics hardware. In Proceedings Supercomputing 2001. Google ScholarDigital Library
- LINDHOLM, E., KILGARD, M., AND MORETON, H. 2001. A user programmable vertex engine. Computer Graphics SIGGRAPH 01 Proceedings. Google ScholarDigital Library
- MICROSOFT, 2002. DirectX9 SDK. http://www.microsoft.com/DirectX.Google Scholar
- MONTRYM, J., AND MORETON, H. 2002. GeForce4. In Proceedings Eurographics/SIGGRAPH Workshop on Graphics Hardware 2002.Google Scholar
- NVIDIA, 2002. nvidia OpenGL game of life. http://www.nvidia.com/view.asp?IO=ogl_gameoflife.Google Scholar
- NVIDIA, 2003. Sample effects on the nVIDIA graphics cards. http://developer.nvidia.com/view.asp?PAGE=papers.Google Scholar
- OLANO, M., AND LASTRA, A. 1998. A shading-language on graphics hardware. Computer Graphics SIGGRAPH 98 Proceedings, 159--168. Google ScholarDigital Library
- PRESS, W., TEUKOLSKY, S., VETTERLING, W., AND FLANNERY, B. 2002. Numerical Recipes in C++: The Art of Scientific Computing. Cambridge University Press. Google ScholarDigital Library
- PURCELL, T., BUCK, I., MARK, W., AND HANRAHAN, P. 2002. Ray tracing on programmable graphics hardware. Computer Graphics SIGGRAPH 98 Proceedings, 703--712. Google ScholarDigital Library
- STAM, J. 1999. Stable fluids. Computer Graphics SIGGRAPH 99 Proceedings, 121--128. Google ScholarDigital Library
- STRZODKA, R., AND RUMPF, M. 2001. Nonlinear diffusion in graphics hardware. In Proceedings EG/IEEE TCVG Symposium on Visualization 2001, 75--84. Google ScholarDigital Library
- STRZODKA, R., AND RUMPF, M. 2001. Using graphics cards for quantized FEM computations. In Proceedings VIIP 2001, 98--107.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
Index Terms
- Linear algebra operators for GPU implementation of numerical algorithms
Recommendations
Linear algebra operators for GPU implementation of numerical algorithms
SIGGRAPH '05: ACM SIGGRAPH 2005 CoursesIn 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 ...
Linear algebra operators for GPU implementation of numerical algorithms
SIGGRAPH '03: ACM SIGGRAPH 2003 PapersIn 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 ...
GPU Acceleration of Runge-Kutta Integrators
We consider the use of commodity graphics processing units (GPUs) for the common task of numerically integrating ordinary differential equations (ODEs), achieving speedups of up to 115-fold over comparable serial CPU implementations, and 15-fold over ...
Comments