Linear Algebra Operators for GPU Implementation of Numerical Algorithms

Jens Krüger, Rüdiger Westermann
Computer Graphics and Visualization Group, Technical University Munich, Germany

Background

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.

Associated publications

Linear Algebra Operators for GPU Implementation of Numerical Algorithms
J. Krüger, R. Westermann, SIGGRAPH 2003 
[Bibtex] [PDF]

Numerical Simulations on PC Graphics Hardware
J. Krüger, T.Schiwietz, P. Kipfer and R. Westermann, EuroPVM/MPI 2004, Special Session Parsim 
[Bibtex] [PDF]

Demos & Source

DirectX
implicit water surface (to compile the source code you need the DirectX 9.0 April 2005 SDK)
[Win32 bin] [Source

OpenGL
implicit water surface (requires GLEW32, GLUT, OpenGL 2.0 and framebuffer objects)
[Win32 bin] [Source]