An Extensible Approach to Organizing Parallel Computations in the Software Package for the LS-STAG Simulation in Coupled Aerohydroelastic Problems
摘要
An implementation of the LS-STAG method and its modifications has been developed to solve coupled aerohydroelastic problems and simulate turbulent flows and non-Newtonian fluids. An important part of the software package is a solver for systems of linear sparse equations. It is based on the domain decomposition method. We apply the FGMRES method with preconditioning to subdomain problems and the multigrid preconditioner with ADLJ post-smoother to solve ill-posed systems. We suggest an approach with macros that allows for using different parallel programming technologies (OpenMP, Intel® Cilk™ Plus, Intel® Threading Building Blocks, CUDA, and others) without having to duplicate the code or develop separate implementations of functions for different parallelization technologies. Experiments showed that the parallel algorithm we developed has good preconditioning properties. This renders a superlinear speedup up to a certain number of subdomains that depends on the size of the problem.