Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Grand Challenge Joliot-Curie : MPM-1000CT6 : Informatique, algorithmique
et mathématiques
Concevoir une adaptation de maillage automatique
H. Digonnet, L. Douteau, N. Aissa and L. SilvaÉcole Centrale de Nantes (ECN)Institut de Calcul Intensif (ICI)
Email : [email protected] site : https://ici.ec-nantes.fr
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Pourquoi utiliser de l’adaptation de maillage ?
Adaptation de maillage statique pour bien capturer une géométrie (project Nantes 1900)
Adaptation de maillage dynamique (remplissage d’un pot de miel)
But : Réduire la taille des maillages pour une précision donnée.
Illustration sur des domaines immergés à l’aide de LevelSet
movie (Nantes 1900) movie (Honey)
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Curie :➢ 80 640 cœurs Intel Xeon 2,7 GHz avec 322 TB de RAM➢ Rmax : 1,359 Pflops, construit en 2012
Joliot-Curie SKL :➢ 79 448 cœurs Intel Xeon SkyLake 2,7 GHz avec 311 TB de RAM➢ Rmax : 4,065 Pflops, construit en 2017
Liger : Tier2 (Ecole Centrale de Nantes)➢ 6 048 cœurs Intel Xeon 2.4 GHz avec 32 TB de RAM➢ Rmax : 189 Tflops, construit en 2016
Tier0 supercomputers
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Simulation d’un écoulement autour d’une microstructure réelle (image tomographique de 1200x1200x1800 voxels). Résolution des équations de Stokes par une formulation FE mixte P1+/P1 implicite aboutissant à la résolution d’un système d’équations à 1.5 milliards d’inconnues exécutée sur 4096 cœurs.
Du réel au virtuel :
Norme de la vitesse
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
But : Utiliser la quasi-totalité des ressources du nouveau supercalculateur Joliot-Curie pour l’adaptation de maillage et ainsi valider l’extensibilité de notre code à l’échelle des plus gros calculateurs nationaux.
Par la quasi-totalité de Joliot-Curie, nous considérons :
➢ presque tous les cœurs : 65 536 cœurs ➢ presque toute la mémoire RAM : 160 To➢ presque toute la bande passante de IO : 130 Go/s ➢ pas tout l’espace de stockage, mais le maillage nécessite quand même
plus 30 To.
À cette échelle : maîtriser le déséquilibre, le déplacement des données et gérer au mieux les IO deviennent des points cruciaux pour réussir.
Être capable de visualiser les maillages générés (avec Visit) nécessite de produire des images de très très haute résolution (16 Gpx : 131072x131072) en utilisant là aussi toute la puissance de Joliot-Curie.
Grand Challenge MPM-1000 :
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Plan :
Le contexte
Procédure d’adaptation parallèle
Résultats obtenus lors de ce grand challenge
– Adaptation de maillage homogène
– Adaptation de maillage anisotrope hétérogène
GC sur Joliot-Curie : le bilan et le futur.
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Adaptation de maillage : Stratégie de parallélisation
➢ Utilisé une méthode itérative
comme celle du mailleur (optimisation topologique)
➢ Ne pas être intrusif (évolutif)
garder la plus grande partie des développements en séquentielle.
➢ Types de maillage :
maillages isotropes et anisotropes .
maillages non structurés et non hiérarchiques
Nous ne parallélisons pas le mailleur, mais nous l’utilisons dans un contexte parallèle couplé à un repartitionneur parallèle.
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Adaptation de maillage : Stratégie de parallélisation
Remailler indépendamment chaque sous domaine sous la contrainte de bloquer les interfaces pour garder un maillage conforme.
Puis déplacer les interfaces et itérer.
Sans contrainte : maillage global non conforme.
Sous contrainte (interfaces bloquées) : maillage global conforme mais adaptation non parfaite.
movie
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Adaptation de maillage : Illustration du réel au virtuel
But : incorporer des données “réelles” dans nos simulations en combinant adaptation de maillage anisotrope et domaines immergés avec des LevelSet.
Une collection de 6 000 sphères avec un maillage de 60 millions de nœuds
Maillage de 5 millions de nœuds utilisé pour représenter une vue de Nantes (projet Nantes 1900)
Île de la réunion : maillage anisotrope sur 4 cœurs [IGN]
[Eric Von Lieres, Samuel Leweke]
[ECN-IRSTV]
[ T. Coupez, “Metric construction by length distribution tensor and edge based error for anisotropic adaptive meshing”, Journal of computational physics, 2011 ]
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Adaptation de maillage : Illustration une ferme de 100 éoliennes
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Benchmark :
Maillage d’un cube 3d avec :
10 milliards de nœuds
60 milliards d’éléments
Réalisé avec IciMesh sur 4096 cœurs de Liger in 1h30m
2,5 millions de nœuds et 15 millions d’éléments par cœur
qualité (de forme et taille) : min 0.2852, moy 0.7954
Image de 16384x16384 pixels faite avec Visit sur 1024 cœurs.
[ H. Digonnet, “Extreme Scaling of IciPlayer with Components: IciMesh and IciSolve”, JUQUEEN Extreme Scaling Workshop, 2016 ]
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Maillage parallèle : Comparaison Joliot-Curie SKL (2018) vs Curie (2012)
Nous avons effectué une comparaison entre Joliot-Curie et son prédécesseur Curie sur 2 configurations :
➢ Cas 1 : maillage final de 64 milliards d’éléments➢ Cas 2 : maillage final de 256 milliards d’éléments
Le tableau suivant présente les temps passés dans les différentes phases.
Cas 1 Cas 2
Curie Joliot-Curie Curie Joliot-Curie
# coeurs 16384 16384 19968 16384
Temps adaptation (s) 473 277 (x1,71) 1844 1100 (x2,04)
Temps MPI_Init (intel) + d’entrée (s)
9,92 114 (x0,034) 44,9 118 (x0,46)
Temps sortie (s) 33,3 2,26 (x14,7) 180 51 (x4,3)
Temps Total (s) 816 393 (x2,07) 2069 1269 (x1,99)
A nombre de cœurs identique Joliot-Curie et environ 2 fois plus rapide que Curie.
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Maillage parallèle : Test d’extensibilité
But : tester l’efficasité parallèle de l’application dans un contexte de “Weak Speed-Up” avec une charge maximale.
Exécuté de 1 à 65 536 cœurs en gardant une charge constante par cœur:
➢ en 2d : – maillage initial de 1,85 millions de nœuds et 2,9 millions d’éléments – maillage final de 7,75 millions de nœuds et 15,5 millions éléments
➢ en 3d– maillage initial de 384 mille nœuds et 2,28 millions d’éléments – maillage final de 3,06 millions de nœuds et 18,2 millions d’éléments
Ces tests permettent d’aboutir à un maillage à plus de 1000 milliards éléments en utilisant presque toutes les ressources du supercalculateur Joliot-Curie.
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Maillage parallèle : Test d’extensibilité
Cas 2d : test d’extensibilité (temps)
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Maillage parallèle : Test d’extensibilité
Cas 2d : test d’extensibilité (efficacité)
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Maillage parallèle : Test d’extensibilité
Cas 2d : utilisation mémoire sur un nœud pour le cas à 16384 cœurs
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Maillage parallèle : Test d’extensibilité
Cas 3d : test d’extensibilité (temps) * un problème mémoire sur le cas à 65 536 cœurs
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Maillage parallèle : Test d’extensibilité
Cas 3d : utilisation mémoire sur un nœud pour le cas à 8192 cœurs
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Maillage parallèle : Un maillage record à 1000 milliards d’éléments
Nous avons réalisé les tests de scalabilité jusqu’à la quasi-totalité de Joliot-Curie (65 536 cœurs).
But : générer des maillages 2d et 3d à plus de 1000 milliards d’éléments en utilisant l’ensemble des ressources disponibles
Caractéristiques de ces maillages :
2d 3d
# cœurs 65 536 65 536
# nœuds 509 720 612 451 200 503 473 793
# éléments 1 015 438 749 726 1 192 367 638 380
qualité (min/max/moy) 0.49 / 1 / 0.93 0.27 / 1 / 0.83
# voisins (min/max/moy) 2 / 18 / 6.09 2 / 38 / 16.9
temps (adaptation) 23m 5h 25m (* pb RAM)
output 30 To à 131 Go/s 30 To à 94 Go/s
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Maillage parallèle : les entrées sorties
Plusieurs stratégies d’écriture du maillage :– 1 fichier binaire par cœur (.TB)– 1 unique gros fichier avec MPI-IO (.TGB)– 1 fichiers MPI-IO par groupe de N(=256) cœurs (.DTGB)
type temps (s) taille taille fichier # fichiers
.TB 235 30 To 480 Mo 65 536
.TGB * 30 To 30 To 1
.DTGB 624 30 To 120 Go 256
L’écriture la plus rapide (130Go/s) reste de générer un seul fichier par cœur (organisé dans des sous dossiers par groupe de 4096 cœurs).
mais
L’écriture MPI-IO par groupe représente une bonne alternative avec un temps d’écriture contenue (x2.5) et génère un nombre de fichiers fortement réduis (/256)
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Calcul à grande échelle : (micro)structures complexes
But : générer un maillage anisotrope adapté pour bien représenter une microstructure composée d’un très grand nombre de fibres.
➢ microstructure définie par 3 millions fibres➢ maillage initial homogène de 5 millions de nœuds et 30 millions éléments ➢ maillage final adapté contenant 3 milliards de nœuds et 18 milliards d’éléments➢ calcul réalisé sur 9 216 cœurs du nouveau calculateur Joliot-Curie➢ 25 itérations d’adaptation effectuées en 17 heures.
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Calcul à grande échelle : (micro)structures complexes
But : Visualiser de si gros maillages
➢ image en multi résolution ➢ plus haute définition de 131072x131075 pixels (16G pixels)➢ distribuée en 256 sous-blocs (image de 8192x8192 pixels)
Vue globale Zoom : x1
Un bloc Zoom : x16
Taille réelleZoom : x256
movie
[ H. Digonnet et al., “Massively parallel anisotropic mesh adaptation”, International Journal of High Performance Computing Applications, 2017 ]
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Bilan : Quelques difficultés
Beaucoup d’instabilités lors du début de cette campagne de grands challenges
Des problèmes (pas très reproductibles) avec la bibliothèque OpenMPI :➢ calculs faux (qualité d’élément négative) ➢ blocages intempestifs lors de certaines simulations.
Problème contourné lors de ce grand challenge en utilisant la bibliothèque alternative IntelMPI : plus de problème mais un coût d’initialisation très important à grande échelle (>30 minutes sur 65 536 cœurs)
Une inquiétude : une empreinte mémoire liée à MPI non négligeable à très grande échelle. Sur 65 536 cœurs après le MPI_Init l’occupation mémoire est de 21,4 Go sur 192 Go par nœud.
#cœurs 256 1024 4096 16384 65536
RAM 2 Go 2 Go 6 Go 9,2 Go 21,4 Go
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Bilan : Beaucoup de succès
Les tests d’extensibilités ont montré une efficacité parallèle très correcte jusqu’à l’utilisation de quasi-totalité du calculateur Joliot-Curie. A l’échelle du supercalculateur en utilisant 65 536 cœurs et plus de 160 To de RAM nous avons été capable de générer des maillages à plus 1000 milliards d’éléments et ceci aussi bien en 2d qu’en 3d malgré un ralentissement sur ce dernier.
Il a également été possible de générer des images en très très haute résolution 16 Gpx (131 072x131 072 pixels) de maillages à plusieurs milliards d’éléments.
Si l’efficacité parallèle des Entrées-Sorties n’est pas bonne à grande échelle, on atteint tout de même un débit d’écriture de 130 Go/s. L’utilisation d’un MPI-IO distribué permet de réduire fortement le nombre d’Inodes générés.
La comparaison entre Joliot-Curie est son prédécesseur Curie donne une accélération globale de l’ordre de x2 à nombre de cœurs équivalent et supérieur à x4 sur les IO.
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Et demain :
Quelle limite à l’extensibilité ? Quelle performance sur des calculateurs à plusieurs centaines de milliers, millions de cœurs ?
➢ quelle mémoire globale sur ces machines / quel ratio RAM/cœur➢ quelle empreinte mémoire de MPI à de telle échelle ?
(fonctionnait sur JuQUEEN avec plus d’un millions de process et un ratio de 256Mo/process)
Un grand challenge sur la future extension/booster de Joliot-Curie ?
Un projet PRACE pour une adaptation autour de 100 millions de fibres (approximativement le nombre de fibres dans une pièce complète)mais nécessite un calculateur à plus de un million de cœurs et 2 Po de RAM (SUMMIT : 2,4 millions de cœurs et 2.8 Po de RAM)
Poursuivre le développement des solveurs EF à ordre élevé et multigrille pour combiner les optimisations et permettre une résolution de problèmes de très très grande taille le plus efficacement possible.
Concevoir une adaptation de maillage automatique
-Journée Grands Challenges Joliot-Curie, 24 Juin 2019, TGCC, Bruyères-le-Châtel-
Remerciements :
Je remercie chaleureusement
GENCI et le TGCC, pour m’avoir permis de réaliser ce « Grand Challenge » sur le nouveau supercalculateur Joliot-Curie.
Toute l’équipe support du TGCC pour m’avoir accompagné lors de cette période de « Grand Challenge » et plus particulièrement Loic Madies et Vincent Ducrot qui ont été mes interlocuteurs privilégiés.
Mais encore, GENCI et PRACE pour me permettre depuis des années d’avoir accès à des supercalculateurs de classe mondiale.
Merci pour votre attention