grand challenge joliot-curie : mpm-1000 ct6 : informatique

26
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-1000 CT6 : 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] Web site : https://ici.ec-nantes.fr

Upload: others

Post on 18-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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

Page 2: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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)

Page 3: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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

Page 4: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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

Page 5: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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 :

Page 6: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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.

Page 7: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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.

Page 8: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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

Page 9: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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 ]

Page 10: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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

Page 11: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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 ]

Page 12: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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.

Page 13: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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.

Page 14: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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)

Page 15: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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é)

Page 16: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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

Page 17: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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

Page 18: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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

Page 19: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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

Page 20: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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)

Page 21: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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.

Page 22: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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 ]

Page 23: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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

Page 24: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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.

Page 25: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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.

Page 26: Grand Challenge Joliot-Curie : MPM-1000 CT6 : Informatique

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