DÉVELOPPEMENT PARALLÈLE POUR LA SIMULATION DES TRANSITOIRES FLUIDE- STRUCTURE INDUSTRIELS Journée Scientifique ONERA Simulation Numérique et Calcul Haute Performance DEN/DANS/DM2S Vincent Faucher 20 MAI 204 2 mai 204 CEA 7 JUIN 202 PAGE
PROGRAMME EUROPLEXUS EURDYN (973-988) Simulation en dynamique rapide PLEXUS (977-999) Simulation en dynamique rapide pour les situations accidentelles du nucléaire civil PLEXIS-3C (985-999) Structure de données dérivée de PLEXUS Intégration des fonctionnalités d EURDYN (fluide-structure en particulier) H. Bung, P. Galon, F. Bliard F. Casadei, M. Larcher Copropriété CEA/JRC Développement ouvert à un nombre limité de partenaires majeurs (EDF, ONERA) Distribution par le CEA à partir de 203 : Version de Production sous licence, Version Education & Recherche gratuite pour l académie 2 mai 204 Journée Scientifique ONERA 20 MAI 204 PAGE 2
DU BESOIN DE CALCUL PARALLÈLE EN MÉCANIQUE Avant 2004 Augmentation du nombre de transistors traduite en augmentation de la fréquence d horloge Augmentation naturelle de la performance Après 2004 Augmentation du nombre de transistors traduite en augmentation du nombre de cœurs Augmentation conditionnelle de la performance Computational Fluid Dynamics Equations bien connues (Navier-Stokes) Effets d éd échelle et finesse de discrétisation indispensable (turbulence, couches limites ) Effort historique pour obtenir la performance maximale du hardware disponible Recours obligatoire et systématique au calcul parallèle le Mécanique des Structures Besoin majeur de R&D pour décrire d le comportement local du système Interaction entre les échelles, comportements fortement non-lin linéaires Contraintes moins évidentes sur le maillage Effort prioritaire sur la modélisation et la convergence des algorithmes en non-lin linéaire Journée Scientifique ONERA 20 MAI 204 PAGE 3
SOMMAIRE Retour sur la situation de départ Algorithme de résolution en dynamique rapide des fluides et des structures Aspects logiciels et illustrations 5 2 Parallélisme à mémoire distribué Décomposition de domaine et gestion des frontières Prise en compte générique des contraintes cinématiques Evaluation de la stratégie proposée en environnement industriel (ANR RePDyn) 9 3 4 Vers le passage à l échelle 5 R&D pour lever les verrous identifiés : réactualisation de la décomposition de domaine, solveur distribué pour le calcul des forces de liaisons Parallélisme à mémoire partagée complémentaire via la librairie KAAPI (INRIA/LIG) Mise en œuvre à grande échelle (PRACE Preparatory Acces sur TGCC/Curie) Poursuite du travail 22 Recherche : auto-paramétrage et parallélisme collaboratif Développement : restructuration de la mémoire d EPX, intégration des nouvelles modélisations Déploiement industriel : support et déboguage complexe, vérification/validation en environnement parallèle Journée Scientifique ONERA 20 MAI 204 PAGE 4
LE POINT DE DÉPART : UN ALGORITHME Equations locales { σ ε ( ) } P trans ( ) ( u) 0 u( ) ρ q&& + q = f ρ u& + + f u = f ρ & + ρ = E& + E + P = 0 Contraintes cinématiques C( q, q&, q&&, u, u& ) = S Intégration temporelle explicite q = q t + q 2 q = q + t q& /2 n n & & && n /2 = + n n u u tu Caractéristiques & str vol flu vol Non-linéarité géométrique ε 2 ( q) = ( q + t t q q q) Stabilité conditionnelle 2 lc t t ω c max Système discret n [ ρ ] = [ ρ ] + Fρ ( U) n [ E] = [ E] + F ( U) Fint ( Q ) ( ) + ( ) && + = str MS Q Fvol + & + F n n link flu M F F U vol FP U Ftrans U C Q& + = S n U E Calcul des forces de liaison Approche par pénalisation : Approche par dualisation : /2 &Q Flink = K C + S n U Forces de liaisons explicites Choix des coefficients de pénalité Impact sur la stabilité de l intégration temporelle Fint ( Q ) ( ) + ( ) + && n str M S Q t + + % n Fvol = + + C Λ n + + M & n flu U F n n F vol FP U Ftrans U && % Q C + = S% & n U t F = C % Λ link Vérification exacte des liaisons Pas d impact sur la stabilité de l intégration Système matriciel à construire et résoudre Journée Scientifique ONERA 20 MAI 204 PAGE 5
LE POINT DE DÉPART : UN ALGORITHME (SUITE) Système discret n [ ρ ] = [ ρ ] + Fρ ( U) n [ E] = [ E] + F ( U) Fint ( Q ) ( ) + ( ) str MS Q&& F t vol + C% Λ n flu M + = U F & F vol FP U Ftrans U Q&& C% S = % U & E F Centre de coût n 2 = Ecriture des liaisons odétection des contacts oecriture des relations d interaction fluide-structure otris spatiaux, calculs d intersection et d inclusion Centre de coût n = Boucle élémentaire ocalcul des contraintes (relation de comportement, loi d état) ocalcul des flux ohétérogénéité des coûts élémentaires Centre de coût n 3 = Calcul des forces de liaison ocondensation sur les multiplicateurs M M C% S C% S Λ = C% F S% M F M F H Λ = B t orésolution et calcul des forces de liaison Crash avec auto-contact Explosion en cuve avec structures immergées Conclusions sur l algorithme EPX = du classique : intégration explicite, calculs élémentaires, écriture des liaisons cinématiques et du moins classique : calcul dual des forces de liaison Stratégie parallèle (très) spécifique Journée Scientifique ONERA 20 MAI 204 PAGE 6
LE POINT DE DÉPART : ET UN OBJET LOGICIEL Quelques chiffres sur EPX 750 000 lignes de FORTRAN ~20 formulations d éléments finis, volumes finis et particules ~00 modèles de comportements et lois d état ~60 types de liaisons cinématiques ~800 tests élémentaires de non-régression ~40 tests de validation Le poids de l histoire Le langage FORTRAN 77 original La structure de données héritée des techniques statiques Une structure multi-domaines existante en FORTRAN 90, avec duplication des données Evolution depuis 2000 Tout nouveau développement en FORTRAN 90 Structures de données dynamiques Mélange un peu hétérogène de code moderne et de code ancien Conséquences sur le choix d une stratégie parallèle Toute stratégie à périmètre partiel est exclue Toute approximation sur le schéma de résolution due au parallèlisme est exclue Difficile d envisager une réécriture complète du code : adaptation de l existant en priorité Equipe de développement réduite et orienté recherche : priorité à l innovation algorithmique par rapport à l innovation logicielle Passage à l échelle lointain au départ Journée Scientifique ONERA 20 MAI 204 PAGE 7
QUELQUES ILLUSTRATIONS Chute d un colis de transport avec fouettement (30 ms) Transitoire de dépressurisation dans le circuit primaire d un REP, avec Interaction Fluide Structure Journée Scientifique ONERA 20 MAI 204 PAGE 8
PARALLÉLISME À MÉMOIRE DISTRIBUÉE GENÈSE ET PREMIÈRE IMPLÉMENTATION (/4) Pourquoi la mémoire distribuée? Hardware dominant en 2007 : clusters de nœuds mono ou bi-processeurs De l ordre de 4 cœurs par nœud Approche distribuée largement dominante Seule approche permettant dans tous les cas d adresser de grands nombres de cœurs Parallélisme massif au prix de l écriture des communications MPI Mise en œuvre dans EPX Décomposition de domaine pour distribuer le centre de coût n (boucle élémentaire) Logique SPMD et réutilisation de la structure des sous-domaines existante (passage global-local) Décomposition automatique par Recursive Orthogonal Bisection Première étape : formalisation et construction des frontières pour toutes les formulations Eléments Finis Volumes Finis Rayon d influence SD SD2 SD SD2 SD SD2 Sommation des forces nodales Cellules fantômes pour les flux Volumes Finis Particules remote pour le voisinage des particules locales Journée Scientifique ONERA 20 MAI 204 PAGE 9
PARALLÉLISME À MÉMOIRE DISTRIBUÉE GENÈSE ET PREMIÈRE IMPLÉMENTATION (2/4) Deuxième étape : écriture générique des liaisons cinématiques (/2). Retour sur la nature des liaisons cinématiques Permanentes, coef. constants Non-permanentes Blocage, déplacement imposé, relation Permanentes, coef. variables Contact unilatéral : nœud/facette, pinballs IFS pour structures immergées IFS avec maillages conformes Conséquences principales des liaisons non-permanentes o Nombre et étendue spatiale des couplages inconnus a priori et variables dans le temps o Impact important sur l algorithme d EPX dû à la stratégie de calcul des forces de liaison Journée Scientifique ONERA 20 MAI 204 PAGE 0
PARALLÉLISME À MÉMOIRE DISTRIBUÉE GENÈSE ET PREMIÈRE IMPLÉMENTATION (3/4) Deuxième étape : écriture générique des liaisons cinématiques (2/2) 2. Ecriture des liaisons non-permanentes avec décomposition de domaine Candidat remote Candidats remote SD SD2 SD Candidats locaux SD2 Facettes locales Eléments de structure locaux Candidats locaux Contact unilatéral IFS pour structures immergées Parallélisme spécifique au centre de coût n 2 (écriture des liaisons) o Distribution (non-équilibrée ) des entités maîtresses : accélération de la recherche o Identification des entités remote à considérer sur chaque processus et communication des informations cinématiques Journée Scientifique ONERA 20 MAI 204 PAGE
PARALLÉLISME À MÉMOIRE DISTRIBUÉE GENÈSE ET PREMIÈRE IMPLÉMENTATION (4/4) Troisième étape : calcul générique des forces de liaison Structure de l opérateur de condensation SD Expression de l opérateur = % M H C % C S t MF + Matrice de masse diagonale B Groupe local SD2 Groupe 2 global B2 Opérateur diagonal par bloc Structure de données pour les liaisons o o Liste chaînée à deux niveaux = liste de groupes de liaisons couplées Ajout/suppression dynamiques de liaisons en cours de calcul, avec identification des couplages Identification a priori des blocs dans l opérateur de condensation Coût de parcours de la structure des liaisons (non-locale en cache) Avec décomposition de domaines o Groupes locaux traités localement : parallélisme (non-équilibré ) o Problème(s) global(aux) à construire et résoudre Surcoût en communication pour la construction Tâche de résolution majoritairement séquentielle Journée Scientifique ONERA 20 MAI 204 PAGE 2
PARALLÉLISME À MÉMOIRE DISTRIBUÉE PROJET ANR REPDYN EVALUATION (/2) Projet RepDyn (ANR-COSI-09-0) Calcul parallèle en dynamique rapide des fluides et des structure Partenaires : CEA, EDF, LaMSID, ONERA, LaMCoS, INRIA Evaluation du parallélisme disponible en environnement industriel Développements algorithmiques pour lever les verrous existants Exploration de stratégies complémentaires Temps de résolution pour 8 proc. Décomposition avec pondération unitaire Décomposition avec pondération calculée 35 s 9 s Test EDF : effet de la pondération de la décomposition de domaine Simulation de l essai MARA0 : perspectives favorables pour l interaction fluide-structure Temps écoulé pour 2500 cycles 4 processus 3939 s Speed-up / 4 proc Efficacité 8 processus 5703 s 2.44.22 6 processus 4035 s 3.45 0.86 32 processus 2963 s 4.70 0.59 Instabilité de Richtmeyer-Meshkov : extensibilité acquise pour les modèles mono-formulation Temps écoulé pour 000 cycles 4 processus 284 s Speed-up / 4 proc Efficacité 8 processus 447 s.96 0.98 6 processus 669 s 4.25.06 32 processus 368 s 7.72 0.97 48 processus 252 s.3 0.94 64 processus 2 s 3.5 0.84 80 processus 73 s 6.4 0.82 Journée Scientifique ONERA 20 MAI 204 PAGE 3
PARALLÉLISME À MÉMOIRE DISTRIBUÉE PROJET ANR REPDYN EVALUATION (2/2) Simulation de l essai Meppen (CEA/EDF R&D) Après 0 ms Défauts de pondération et modifications majeures de la structure des interactions Perte d efficacité de la résolution parallèle au cours du calcul Après 20 ms Blade shedding (ONERA) Perte d efficacité de la procédure d identifaction des candidats au contact remote Prédominance de la phase de calcul des forces de liaison globales Perte d efficacité de la résolution parallèle au cours du calcul (encore ) Sous-domaines à l instant initial Sous-domaines après ms (/2 tour du rotor) Journée Scientifique ONERA 20 MAI 204 PAGE 4
VERS LE PASSAGE À L ÉCHELLE DIRECTIONS DE RECHERCHE (20/202/ ) Un parallélisme à mémoire distribué dynamique Réactualisation de la décomposition de domaine Evaluation en cours de calcul des coefficients de pondération Un solveur distribué pour le calcul des forces de liaison globales Méthode d évaluation de l opérateur de condensation Solveur parallèle décentralisé Le calcul avancé à mémoire partagé en complément Réponse à une évolution manifeste du hardware Limitation du nombre de sous-domaines Apport déterminant de l équipe MOAIS (INRIA/Laboratoire d Informatique de Grenoble) Concrétisation et mise en œuvre d une approche hybride à grande échelle Confrontation au problème d échelle réel (PRACE Preparatory Access 0624 en 202) Mise en œuvre exclusive de simulations représentatives du contenu algorithmique complet d EPX Journée Scientifique ONERA 20 MAI 204 PAGE 5
VERS LE PASSAGE À L ÉCHELLE RÉACTUALISATION DE LA DÉCOMPOSITION DE DOMAINE Objectifs pratiques Eviter la centralisation des informations sur un cœur Proposer un processus transparent pour l utilisateur ( sauvegarde/reprise) Persistence des données Ratio d ordre 000 entre la vitesse matérielle des structures et la vitesse des ondes (fixant le pas de temps) Développement réalisé Pilotage de la fréquence de réactualisation dans les données Pas de modification de la pondération Cohabitation transitoire de 2 décompositions de domaines Transfert un à un des champs nodaux et élémentaires d une décomposition à l autre Limitation observée Croissance de la mémoire occupée par chaque processus à chaque réactualisation de la décomposition de domaine Origine encore non-élucidée Recherche incluse dans un processus nécessaire de restructuration de la structure mémoire d EPX Journée Scientifique ONERA 20 MAI 204 PAGE 6
VERS LE PASSAGE À L ÉCHELLE SOLVEUR DISTRIBUE POUR LES LIAISONS GLOBALES (/2) e contrainte : ne pas assembler d opérateur global Approche itérative : Λ k Evaluation du résidu : t F = C % Λ % 2 k g k % R = H Λ% B k Algorithme de résolution : Gradient Conjugué k Calcul des forces sur les ddls locaux et remote sur le SD où chaque liaison est écrite Transfert et sommation des forces sur les ddls remote FS k 3 R = C% M F B k g k S Résidu partiel sur chaque SD 2 e contrainte : converger rapidement Préconditionnement indispensable Résolution de problèmes locaux avec remote 3 e contrainte : optimiser les communications Communications supplémentaires durant les itérations du solveur global Liaison écrite sur SD Liaison écrite sur SD2 Liaison écrite sur SD3 Terme diagonal calculé exactement sur SD Terme extra-diagonal nul si aucun couplage entre les liaisons concernées Structure typique d une matrice de liaison globale C% n + Ddls SD Structure de l opérateur global H g Ddls SD2 Ddls SD3 Terme extradiagonal avec couplage entre SDs Préconditionneur : Couplages locaux OK Couplages de liaisons inter-sd ignorés Journée Scientifique ONERA 20 MAI 204 PAGE 7
VERS LE PASSAGE À L ÉCHELLE SOLVEUR DISTRIBUE POUR LES LIAISONS GLOBALES (2/2) e contrainte : ne pas assembler d opérateur global Approche itérative : Λ k Evaluation du résidu : % R = H Λ% B k F t C = % Λ % Calcul des forces sur les ddls locaux et k g k remote sur le SD où chaque liaison est écrite 2 Transfert et sommation des forces sur les ddls remote FS k 3 R = C % M F B k g k S Algorithme de résolution : Gradient Conjugué k Résidu partiel sur chaque SD 2 e contrainte : converger rapidement Préconditionnement indispensable Résolution de problèmes locaux avec remote 3 e contrainte : optimiser les communications Communications supplémentaires durant les itérations du solveur global Journée Scientifique ONERA 20 MAI 204 PAGE 8
VERS LE PASSAGE À L ÉCHELLE MÉMOIRE PARTAGÉE AVEC KAAPI ET APPROCHE HYBRIDE (COLLABORATION INRIA/LIG - MOAIS) Avantages de la mémoire partagée à l intérieur des sous-domaines pour les Onde nœuds de multi-cœurs choc sur un container métallique (modèle NTNU/JRC Ispra) Meppen Crash Initial time Limitation de la redondance des données Limitation de la tension sur le réseau due aux contraintes cinématiques globales Problèmes connus After 000 time cycles Centres de coût et 2 avec des coûts par itération très hétérogènes Besoin d un ordonnancement dynamique efficace et flexible Loi d Amdahl Boucles Memory bound sur les architectures NUMA Approche par vol de travail KAAPI (INRIA) Programmation DFG Implémentation FORTRAN aisée (compatibilité avec OpenMP 3 en développement) Création adaptative de tâches pour réduire l engorgement mémoire et minimiser le surcoût parallèle Travaux en cours 202: Solveur hybride MPI/KAAPI pour le HPC testé via un Prace Preparatory Access 203: Consolidation de l approche Boucles memory bound Optimization du cache Amélioration du solveur GPCG Publication [ADES 203] 203/205 : Auto-tuning pourepx dans le cadre hybride MPI/KAAPI (thèse de Marwa Sridi) MPI Processes 32 64 28 32 64 28 KAAPI Threads 8 8 8 Total number of cores Time for 2000 time cycles 32 64 28 256 52 024 Performances (résultats 202) : 83% des tâches 547 885 577 640 440 345 Approche accélérées extensible par pour des systèmes fluide-structure fortement couplés KAAPI Efficacité à améliorer Speed-up 6/8 (memory bound) Journée Scientifique ONERA 20 MAI 204 PAGE 9
CONCLUSION ET PERSPECTIVES Algorithmes d EPX pour des systèmes fortement couplés Approche rigoureuse conforme aux exigences de sûreté Complexité algorithmique spécifique Extensibilité jusqu à 28 processus MPI (i.e. 024 à 2048 cœurs) pour des systèmes de complexité industrielle Travaux en cours sur la distribution de la mémoire Journée Scientifique ONERA 20 MAI 204 PAGE 20
PAGE 2 CEA 7 JUIN 202 2 mai 204 Commissariat à l énergie atomique et aux énergies alternatives Centre de Saclay 99 Gif-sur-Yvette Cedex T. +33 (0) 69 08 40 8 F. +33 (0) 69 08 76 9 Etablissement public à caractère industriel et commercial RCS Paris B 775 685 09 Direction de l Energie Nucléaire Département de Modélisation des Systèmes et Structures Service d Etudes Mécaniques et Thermiques