Efficient GPU data structures and methods to solve sparse linear systems in dynamics applications
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.
@article{WebBenSchStoFel13,
author = {Weber, Daniel and Bender, Jan and Schnoes, Markus and Stork, Andr{\'e} and Fellner, Dieter},
title = {Efficient {GPU} Data Structures and Methods to Solve Sparse Linear Systems in Dynamics Applications},
year = {2013},
journal = {Computer Graphics Forum},
volume = {32},
number = {1},
publisher = {Blackwell Publishing Ltd},
issn = {1467-8659},
url = {http://dx.doi.org/10.1111/j.1467-8659.2012.03227.x},
doi = {10.1111/j.1467-8659.2012.03227.x},
pages = {16--26},
}