Efficient GPU Data Structures and Methods to Solve Sparse Linear Systems in Dynamics Applications

被引:52
作者
Weber, Daniel [1 ]
Bender, Jan [2 ]
Schnoes, Markus [3 ]
Stork, Andre [1 ,3 ]
Fellner, Dieter [1 ,3 ]
机构
[1] Fraunhofer IGD, Darmstadt, Germany
[2] Tech Univ Darmstadt, Grad Sch CE, Darmstadt, Germany
[3] Tech Univ Darmstadt, Darmstadt, Germany
关键词
interactive simulation; GPU computing; physically based modeling; linear systems; SIMULATION; CONTACT; IMPLEMENTATION; COLLISION;
D O I
10.1111/j.1467-8659.2012.03227.x
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:16 / 26
页数:11
相关论文
共 36 条
[21]   Linear algebra operators for GPU implementation of numerical algorithms [J].
Krüger, J ;
Westermann, R .
ACM TRANSACTIONS ON GRAPHICS, 2003, 22 (03) :908-916
[22]   gProximity: Hierarchical GPU-based Operations for Collision and Distance Queries [J].
Lauterbach, C. ;
Mo, Q. ;
Manocha, D. .
COMPUTER GRAPHICS FORUM, 2010, 29 (02) :419-428
[23]   Optimizing sparse matrix-vector product computations using unroll and jam [J].
Mellor-Crummey, J ;
Garvin, J .
INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS, 2004, 18 (02) :225-236
[24]  
Mezger J, 2008, SPM 2008: PROCEEDINGS OF THE ACM SOLID AND PHYSICAL MODELING SYMPOSIUM, P79
[25]  
Monakov A., 2010, HIGH PERFORMANCE EMB
[26]  
Müller M, 2004, PROC GRAPH INTERF, P239
[27]  
NVIDIA, 2011, NVIDIA CUDA SPARS MA
[28]  
O'Brien JF, 1999, COMP GRAPH, P137, DOI 10.1145/311535.311550
[29]   Fast and Scalable CPU/GPU Collision Detection for Rigid and Deformable Surfaces [J].
Pabst, Simon ;
Koch, Artur ;
Strasser, Wolfgang .
COMPUTER GRAPHICS FORUM, 2010, 29 (05) :1605-1612
[30]   Solving unsymmetric sparse systems of linear equations with PARDISO [J].
Schenk, O ;
Gärtner, K .
FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2004, 20 (03) :475-487