The multi-level parallelism helps modal computation
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.
![]() | |
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.
![]() | |
![]() | |