AbstractIn recent years, matrix‐free conjugate gradient (CG) solvers with graphics processing unit (GPU) acceleration have been effectively used to reduce the execution timings of finite element method (FEM)‐based engineering simulations. However, there is not much in the literature that discusses the application of matrix‐free CG solvers for elastoplasticity. The primary challenge is the presence of both elastic and plastic states, which introduce branching issues in the parallel computation of sparse matrix‐vector multiplication (SpMV). The current work proposes an efficient split kernel strategy for elastoplasticity that segregates elements in elastic and plastic zones and allows the application of standard GPU‐based matrix‐free SpMV strategies in the literature to elastoplastic simulation. The proposed strategy avoids branching issues, facilitates coalesced memory access, allows efficient usage of on‐chip memory, and uses minimum storage to realize large‐scale simulation on a GPU with limited memory. We also propose matrix‐free SpMV strategies for GPU implementation based on an element‐by‐element technique that makes efficient use of memory hierarchy available in a GPU. The computational efficiency of the proposed strategies is demonstrated over three large‐scale benchmark examples from elastoplasticity, and the performance results are compared with GPU optimized node‐based and degrees of freedom (DOF)‐based matrix‐free strategies. The results show that the splitting of computation is most suitable for low plasticity problems, where most of the matrix‐free strategies show significant speedups with respect to single kernel strategy for elastoplasticity. The proposed element‐by‐element strategy using node‐wise thread allocation is found to have the best performance, achieving up to 7.16 and 3.35 speedup over node‐based and DOF‐based strategy, respectively. For problems with higher amounts of plasticity, the proposed strategies perform slightly better and achieve modest speedups due to advantages in the initial stages of Newton iterations. In terms of wall‐clock timings, the proposed matrix‐free solver is found to be up to 2 faster than GPU optimized assembly‐based elastoplasticity solver.
Read full abstract