The multi-level parallelism helps modal computation

1 March 2013

by O. Boiteau, EDF R&D / SINETICS

To study the vibrations of a structure, one must often solve a modal problem. Code_Aster offers various methodologies and algorithms through different operators. Among them, MACRO_MODE_MECA is especially dedicated to large computations (in mesh size and / or number of modes). A first step had already saved in robustness and especially in computation time (up to a factor of 2 in sequential computing). A second step was to introduce two levels of nested parallelism to leverage performance. This new approach allows a gain of a factor 30 in times and a factor 2 in memory peak (on about forty processors) compared to sequential computation.

Picture 1. Principle of a two levels parallelism implemented in MACRO_MODE_MECA : 4 calculation sub-bands on 8 processors.

In this operator, the distribution of modal calculations in different sub-bands is an ideal frame for parallelism (the first level, confer Picture 1). It saves a lot of time but at an additional cost in memory. If one have a sufficient number of processors (eg 2 or 4 times the number of required sub-bands), one can then initiate a second level of parallelism through the linear solver. It then continues to save time but more importantly, it significantly reduces the memory peak . So here it leverages the union of the two levels of parallelism, without changing the architecture of the code, or its uses.

Table 1. Comparison of performances of MACRO_MODE_MECA on the test-case perf016a (square plate with shell elements) : number of DOF=4.0M, 8 sub-bands balanced on the interval [0Hz,4000Hz] totaling 50 modes
Table 2. Comparison of performances ofMACRO_MODE_MECA on a seismic study : number of DOF=0.7M, research of 448 modes in the interval [0Hz,60Hz] by cutting into 20 balanced sub-band