Efficient GPU Data Structures and Methods to Solve Sparse Linear Systems in Dynamics Applications
Article first published online: 12 OCT 2012
© 2012 The Authors Computer Graphics Forum © 2012 The Eurographics Association and Blackwell Publishing Ltd.
Computer Graphics Forum
Volume 32, Issue 1, pages 16–26, February 2013
How to Cite
Weber, D., Bender, J., Schnoes, M., Stork, A. and Fellner, D. (2013), Efficient GPU Data Structures and Methods to Solve Sparse Linear Systems in Dynamics Applications. Computer Graphics Forum, 32: 16–26. doi: 10.1111/j.1467-8659.2012.03227.x
- Issue published online: 21 FEB 2013
- Article first published online: 12 OCT 2012
- interactive simulation;
- GPU computing;
- physically based modeling;
- linear systems
- Computer Graphics [I.3.1]: Hardware Architecture—Graphics processors;
- Computer Graphics [I.3.7]: Three-Dimensional Graphics and Realism—Animation
We present graphics processing unit (GPU) data structures and algorithms to efficiently solve sparse linear systems that are typically required in simulations of multi-body systems and deformable bodies. Thereby, we introduce an efficient sparse matrix data structure that can handle arbitrary sparsity patterns and outperforms current state-of-the-art implementations for sparse matrix vector multiplication. Moreover, an efficient method to construct global matrices on the GPU is presented where hundreds of thousands of individual element contributions are assembled in a few milliseconds. A finite-element-based method for the simulation of deformable solids as well as an impulse-based method for rigid bodies are introduced in order to demonstrate the advantages of the novel data structures and algorithms. These applications share the characteristic that a major computational effort consists of building and solving systems of linear equations in every time step. Our solving method results in a speed-up factor of up to 13 in comparison to other GPU methods.