Fakultät Informatik

Linear Algebra Operators for GPU Implementation of Numerical Algorithms

 Jens Krüger, Rüdiger Westermann

Computer Graphics and Visualization Group, Technical University Munich, Germany


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

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

Demos & Source


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


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



Matthias Niessner, our new Professor from Stanford University, offers a number of interesting topics for  master theses.


PhD positions on   Computational Fabrication and 3D Printing and  Photorealistic Rendering for Deep Learning and Online Reconstruction are available at the Computer Graphics & Visualization group.