ACCELERATION OF FEM MECHANICAL SIMULATIONS WITH A PARALLEL IMPLEMENTATION IN GPU
Palavras-chave:
Finite elements, Parallel computing, GPGPU, CUDA, Linear elasticityResumo
Finite element simulations with the use of large scale models are becoming more frequent.
Modern strategies applied to transient problems seize efficient assembly of global matrices as well as the
fast solution of system of equations in models with hundreds of millions of degrees of freedom. The use
of General-Purpose computing on Graphics Processing Units (GPGPU) enables extreme parallelization
and acceleration of these processes. In this direction, the present work presents several applications of
computational mechanics problems using the C ++ programming language coupled to the NVCC (NVI-
DIA CUDA Compiler) for the CUDA platform. These simulations require only native C ++ functions,
without external dependencies. The code was developed in a modular structure, with the hybrid imple-
mentation of subroutines in CPU and Graphical Processing Units (GPU). An iterative solver with the
conjugate gradient method is presented and can be coupled to codes developed in other programming
languages for dedicated GPU solution. CPU solutions using the Eigen linear algebra library are also
developed, and several benchmarks are discussed, including the use of OpenMP for parallel computing
and computations on the GPU using double and single precision accuracy, as well as different GPU
kernels for sparse matrix-vector multiplication (SpMV). Results obtained using the proposed strategies
reveal that computations using the described routines are effective and provide significant speedups over
single-threaded computations.