Parallel Linear Equation Solvers and OpenMP in the Context of Multibody System Dynamics
Computational efficiency of numerical simulations is a key issue in multibody system (MBS) dynamics, and parallel computing is one of the most promising approaches to increase the computational efficiency of MBS dynamic simulations. The present work evaluates two non-intrusive parallelization techniques for multibody system dynamics: parallel sparse linear equation solvers and OpenMP. Both techniques can be applied to existing simulation software with minimal changes in the code structure; this is a major advantage over MPI (Message Passing Interface), the de facto standard parallelization method in multibody dynamics. Both techniques have been applied to parallelize a starting sequential implementation of a global index-3 augmented Lagrangian formulation combined with the trapezoidal rule as numerical integrator, in order to solve the forward dynamics of a variable number of loops four-bar mechanism. This starting implementation represented a highly optimized code, where the overhead of parallelization would represent a considerable part of the total amount of elapsed time in calculations. Several multi-threaded solvers have been added to the original software. In addition, parallelizable regions of the code have been detected and multi-threaded via OpenMP directives. Numerical experiments have been performed to measure the efficiency of the parallelized code as a function of problem size and matrix filling ratio. Results show that the best parallel solver (Pardiso) performs better than the best sequential solver (CHOLMOD) for multibody problems of large and medium sizes leading to matrix fillings above 10 non-zeros per variable. OpenMP also proved to be advantageous even for problems of small sizes, in despite of the small percentage of parallelizable workload with respect to the total burden of the execution of the code. Both techniques delivered speedups above 70% of the maximum theoretical values for a wide range of multibody problems.