enenfr

Vers une version massivement parallèle de code_aster

N. Sellenet, N. Tardieu (EDF / R&D / ERMES)

Depuis quelques années, l’environnement autour de la simulation numérique subit des changements importants. D’une part, les machines sur lesquels fonctionnent les codes de calcul évoluent pour disposer de toujours plus de cœurs mais de toujours moins de mémoire par cœur et d’autre part, les utilisateurs ont besoin de réaliser des calculs sur des modèles de plus en plus gros.

Pour faire face à ces évolutions, code_aster s’est engagé dans une révolution visant à le rendre massivement parallèle. Le but est de réduire drastiquement l’empreinte mémoire ainsi qu’améliorer de plusieurs ordres de grandeur la performance intrinsèque du code en parallèle.

Figure 1 : Mémoire utilisée par processeur

Pour atteindre notre but, c’est le découpage de domaine qui a été retenu. Le maillage support est donc découpé en amont de code_aster et c’est sur ce maillage découpé que sont lancés les calculs sur les différents processeurs utilisés lors de la simulation. Cette approche nous a permis d’obtenir une scalabilité très importante sur plus de 1000 processeurs pour des simulations élasto-plastiques.

Figure 2 : Temps de résolution obtenus sur plus de 1000 processeurs

Partant de ces potentialités nouvelles, il y a plus de 2 ans, le projet subventionné PAMSIM a été lancé afin d’intégrer les fonctionnalités massivement parallèles nouvellement développées et d’adapter l’architecture informatique du code à ce changement fondamental de paradigme. Ce projet regroupe des laboratoires de recherche (LMT Cachan, CERFACS), un industriel (EDF) et des PME (NECS et Phimeca). Chacun dans son domaine et avec ses compétences, nous travaillons afin d’obtenir une version massivement parallèle de code_aster disposant d’une nouvelle interface le rendant plus interopérable.