Linear algebra operators for GPU implementation of numerical algorithms

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.

[1]  Gavin S. P. Miller,et al.  Rapid, stable fluid dynamics for computer graphics , 1990, SIGGRAPH.

[2]  Dimitris N. Metaxas,et al.  Realistic Animation of Liquids , 1996, Graphics Interface.

[3]  Erik Lindholm,et al.  A user-programmable vertex engine , 2001, SIGGRAPH.

[4]  Jack Dongarra,et al.  LAPACK Users' guide (third ed.) , 1999 .

[5]  Thomas Ertl,et al.  Accelerating 3D convolution using graphics hardware , 1999, Proceedings Visualization '99 (Cat. No.99CB37067).

[6]  Mark Meyer,et al.  Implicit fairing of irregular meshes using diffusion and curvature flow , 1999, SIGGRAPH.

[7]  Jack J. Dongarra,et al.  An extended set of FORTRAN basic linear algebra subprograms , 1988, TOMS.

[8]  David K. McAllister,et al.  Fast Matrix Multiplies Using Graphics Hardware , 2001, ACM/IEEE SC 2001 Conference (SC'01).

[9]  David Salesin,et al.  Computer-generated watercolor , 1997, SIGGRAPH.

[10]  Ronald Fedkiw,et al.  Practical animation of liquids , 2001, SIGGRAPH.

[11]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[12]  Thomas Ertl,et al.  Hardware-Accelerated Visualization of Time-Varying 2D and 3D Vector Fields by Texture Advection via Programmable Per-Pixel Operations , 2001, VMV.

[13]  Thomas Ertl,et al.  Hardware Accelerated Wavelet Transformations , 2000, VisSym.

[14]  Pat Hanrahan,et al.  Ray tracing on a connection machine , 1988, ICS '88.

[15]  Radek Grzeszczuk,et al.  Nonlinear optimization framework for image-based modeling on programmable graphics hardware , 2003, ACM Trans. Graph..

[16]  Mathieu Desbrun,et al.  Dynamic real-time deformations using space & time adaptive sampling , 2001, SIGGRAPH.

[17]  Jos Stam,et al.  Stable fluids , 1999, SIGGRAPH.

[18]  Ronald Fedkiw,et al.  Visual simulation of smoke , 2001, SIGGRAPH.

[19]  John C. Hart Perlin noise pixel shaders , 2001, HWWS '01.

[20]  Mark Oskin,et al.  Using modern graphics architectures for general-purpose computing: a framework and analysis , 2002, MICRO 35.

[21]  Thomas Ertl,et al.  Accelerating 3D convolution using graphics hardware (case study) , 1999 .

[22]  William H. Press,et al.  Numerical recipes in C. The art of scientific computing , 1987 .

[23]  Jack J. Dongarra,et al.  A set of level 3 basic linear algebra subprograms , 1990, TOMS.

[24]  Anselmo Lastra,et al.  A shading language on graphics hardware: the pixelflow shading system , 1998, SIGGRAPH.

[25]  Martin Rumpf,et al.  Nonlinear Diffusion in Graphics Hardware , 2001, VisSym.

[26]  Gordon Erlebacher,et al.  Hardware-Accelerated Lagrangian-Eulerian Texture Advection for 2D Flow Visualization , 2002 .

[27]  Gordon Erlebacher,et al.  Lagrangian-Eulerian Advection of Noise and Dye Textures for Unsteady Flow Visualization , 2002, IEEE Trans. Vis. Comput. Graph..

[28]  Eitan Grinspun,et al.  Sparse matrix solvers on the GPU: conjugate gradients and multigrid , 2003, SIGGRAPH Courses.

[29]  Anselmo Lastra,et al.  Physically-based visual simulation on graphics hardware , 2002, HWWS '02.

[30]  Andrew P. Witkin,et al.  Large steps in cloth simulation , 1998, SIGGRAPH.

[31]  Martin Rumpf,et al.  Using Graphics Cards for Quantized FEM Computations , 2001, VIIP.

[32]  Jim X. Chen,et al.  Toward Interactive-Rate Simulation of Fluids with Moving Obstacles Using Navier-Stokes Equations , 1995, CVGIP Graph. Model. Image Process..

[33]  Hans-Peter Seidel,et al.  Applications of pixel textures in visualization and realistic image synthesis , 1999, SI3D.