Parallelization of the structural mechanics solver b2000++: assessment, status and future strategy#

Harald Klimach (DLR)

Abstract#

In this contribution we are looking into the parallel execution of the general purpose FEM structural mechanics solver b2000++pro. The solver is written in C++ and offers a wide range of different elements and models. It exploits thread parallelism with Intels thread building blocks (TBB), and in the linear algebra solver with OpenMP. Distributed memory parallelism is achieved through the MPI parallelization offered by the linear algebra solver. This partial parallelization in MPI results in a split between the main, supervising process and all other processes that only act as workers for the linear algebra solver. We are looking at the best configuration of threads vs. MPI processes on compute nodes with 2 AMD EPYC 7702 (each with 64 cores at 2,0 GHz) processors. The current approach with a single supervisor process that needs to hold the complete FEM model and performs all the computations outside the solving of the linear algebra system, poses an apparent obstacle to the scalability of the application on systems with distributed memory. We also discuss our approach to overcome this scalability obstacle and offer a partitioned computation of the complete program and report on the progress made in this respect.

<= Go back