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 条
[1]  
Allard J., 2012, GPU COMPUTING GEMS J, P281, DOI DOI 10.1016/B978-0-12-385963-1.00021-6
[2]  
[Anonymous], 2008, NVIDIA Technical Report NVR-2008-004
[3]  
[Anonymous], 2011, ACTA TECH CSAV
[4]  
[Anonymous], 2011, NVIDIA CUDA Compute Unified Device Architecture, Programming Guide
[5]  
Baraff D., 1996, Computer Graphics Proceedings. SIGGRAPH '96, P137, DOI 10.1145/237170.237226
[6]  
Baraff D., 1998, Computer Graphics. Proceedings. SIGGRAPH 98 Conference Proceedings, P43, DOI 10.1145/280814.280821
[7]  
Baskaran M. M., 2009, OOPTIMIZING SPARSE M
[8]  
Bell N, 2009, STUDENTS GUIDE TO THE MA TESOL, P1
[9]  
Bell Nathan., 2010, Cusp: Generic parallel algorithms for sparse matrix and graph computations
[10]  
BENDER J., 2012, EG 2012, P95