enfr

Encore des gains de performances pour les calculs modaux !

4 novembre 2013

par O. Boiteau, EDF R&D / SINETICS - Livrable du projet MNAM

Depuis un an, le dynamicien des structures qui résout un problème modal via les opérateurs MACRO_MODE_MECA et INFO_MODE a vu ses temps de calcul diminuer drastiquement ! Jusqu’à un facteur deux en séquentiel (version stable) et jusqu’à un facteur 30 sur une quarantaine de processeurs (version unstable).

Ce processus d’amélioration se poursuit, toujours sur MACRO_MODE_MECA, mais aussi sur MODE_ITER_SIMULT et CALC_MODAL. Et ce, sans impacter ni les consommations mémoires, ni la précision des calculs, ni l’ergonomie ou le périmètre d’utilisation des opérateurs.
Une refonte de procédure d’orthonormalisation de ces opérateurs permet ainsi de dégager entre 15% et 80% de gains supplémentaires, en séquentiel comme en parallèle. Cette réduction est notable lorsqu’on cherche plusieurs dizaines voire centaines de modes sur un problème généralisé classique (symétrique réel) avec la méthode par défaut (’SORENSEN’).

Ainsi avec MODE_ITER_SIMULT, un calcul standard (137 modes recherchés avec le cas-test de performances perf013a de taille 1M de degrés de liberté) passe de 50min à 10min et un calcul frontière (137 modes recherchés avec perf013c de taille 4M de degrés de liberté), toujours en séquentiel, passe de 3h08min à 48min !

Évolution des performances de MODE_ITER_SIMULT sur les cas-tests de performances perf013a et perf013c
perf013a

50 modes

perf013a

137 modes

perf013c

50 modes

perf013c

137 modes

Temps CPU en minutes (V12.0) 8 50 42 188
Temps CPU en minutes (V12.1) 4 10 24 48
Gain 50% 80% 43% 75%

Avec MACRO_MODE_MECA, les gains sont moins prononcés mais ils s’ajoutent à ceux déjà réalisés (voir tableau) : sur 12 processeurs, le calcul standard ne coûte plus que 17 minutes à comparer à 3 heures en version 11.2.

Évolution des performances de MACRO_MODE_MECA sur le cas-test perf013c
137 modes sur 1 processeur 137 modes sur 3 intervalles, 1 processeur par intervalle 137 modes sur 3 intervalles, 4 processeurs par intervalle
Temps CPU en minutes (V12.0) 103 42 33
Temps CPU en minutes (V12.1) 55 26 17
Gain 47% 38% 48%

Enfin, une étude industrielle (structure cylindrique avec 700000 degrés de liberté et 448 modes recherchés) ne prend plus que 6 minutes sur 20 processeurs (37 minutes en séquentiel) au lieu de 1h34 en version 11.2.

Évolution des performances de MACRO_MODE_MECA sur une étude industrielle
448 modes sur 1 processeur 448 modes sur 5 intervalles, 1 processeur par intervalle 448 modes sur 5 intervalles, 4 processeurs par intervalle
Temps CPU en minutes (V12.0) 80 19 15.5
Temps CPU en minutes (V12.1) 37 10 6.5
Gain 53% 47% 58%

L’effort logiciel va maintenant se focaliser sur la réduction des consommations mémoires, leurs extensibilités parallèles ainsi que sur l’ergonomie (équilibrage automatique des sous-intervalles dans MACRO_MODE_MECA).