DS0708 - Données massives, connaissances, décision, calcul haute performance et simulation numérique

Décomposition de domaines algébriques et géométriques pour les écoulements souterrains – DEDALES

Décomposition de domaines algébriques et géométrique pour les écoulements souterrains

Les simulations en géosciences font face à une demande croissante pour prendre en compte une physique de plus en plus détaillée et réaliste. Le stockage géologique de déchets nucléaires, ou du CO2, demandent de coupler des phénomènes thermiques, hydrauliques, mécaniques et chimiques. Le but du projet DEDALES est de contribuer aux méthodes mathématiques, et aux outils informatiques, qui seront nécessaires pour rendre possible ces simulations sur la prochaine génération de super-ordinateurs.

Enjeux et objectifs

Les simulations en géosciences conduisent à des systèmes couplés d'équations aux dérivées partielles, posés sur des géométries complexes et des maillages non structurés, et nécessitent des méthodes de résolution implicites. L'objectif principal du projet DEDALES est de montrer que ces simulations peuvent être réalisées de manière efficaces sur la prochaine génération de super-ordinateurs, qui seront composés d'un grand nombre de noeuds “manycore”. <br />Deux approches seront comparées: une approche géométrique, où une méthode de décomposition de domaine (globale en temps) fournira un niveau externe de parallélisme en itérant sur les sous-domaine, alors que les résolutions indépendantes dans les sous-domaine utiliseront un solveur linéaire avec un parallélisme de “threads”. La résolution dans les sous-domaine peut-être rendu efficace dans les langages vectoriels. Dans l'approche algébrique, un solveur linéaire hybride combine une méthode itérative, au niveau externe, avec une méthode directe. L'ordonnancement des tâches de ce parallélisme à deux niveaux est complexe, et sera confié à un support d’exécution comme StarPU. <br />Les deux approches conviennent aussi bien à la nature hiérarchique de la physique qu'à celle de l'architecture matérielle. Le module de résolution à deux niveaux de parallélisme sera intégré à un code de simulation sous licence libre pour les écoulements souterrain, et sera validé sur des exemples de grande taille. <br />Les principaux objectifs du projet sont académiques : avancer dans la compréhension des méthodes de décomposition de domaine espace-temps pour des problèmes d'écoulement complexes, ainsi que dans le développement de solveurs linéaires hybrides sur des architectures informatiques émergentes. Il vise aussi des retombées industrielles : montrer que ces méthodes peuvent être mises en œuvre dans des codes open-source et qu'elles permettent de mener à bien des simulations réalistes.

Le projet DEDALES est structuré selon 3 axes :

Extension des méthodes de décomposition de domaine (DD) aux écoulements diphasiques. Un système non-linéaire couplant les pressions et saturations des deux phases doit être résolu. Les trois directions sont : l'interaction entre la méthode de Newton et l'algorithme DD, qui peut prendre deux formes : « Newton à l'intérieur de DD » et « Newton à l’extérieur de DD », la détermination des conditions de transmission optimisées pour améliorer la convergence de l'algorithme DD et l'optimisation de la résolution sur un sous-domaine dans les langages vectoriels. Les méthodes seront validées à l'aide du code open-source MRST (Matlab Reservoir Simulation Toolbox).

Optimiser la performance du solveur linéaire hybride MaPHyS (Inria Hiepacs) sur les ordinateurs à architecture hiérarchique comportant des nœuds hétérogènes. La première direction est de combiner un solveur itératif (utilisant MPI) avec un solveur direct utilisant le support d’exécution StarPU. La second est de mettre au point des préconditionneurs « grille grossière » efficaces pour les problèmes fortement hétérogènes. Les méthodes seront validées sur des données issues d'applications en géosciences.

La création d'un code basé sur la décomposition de domaine qui tire parti de deux niveaux de parallélisme: la DD (espace-temps) fournit le niveau externe (gros grain, parallélisé avec MPI), et un solveur linéaire direct fournit le niveau interne (grain fin, parallélisé avec StarPU). Deux codes de calcul en open source sont visés : TRACES, utilisé par l'Andra pour des simulations d'écoulement et de transport, et Dumux, une bibliothèque pour la simulation d'écoulements diphasiques.

Algorithmes efficaces pour l'assemblage des matrices éléments finis dans les langages vectoriels (publié);

Extension de la méthode de Schwarz optimisée avec des conditions de Robin au cas d’un modèle de diffusion non-linéaire ;

Développement de critères d’arrêts pour l’algorithme de Schwarz basés sur des estimations a posteriori ;

Intégration de MaPHyS pour nœuds hétérogènes dans Traces ;

Mise en place d’un préconditionneur à deux niveaux.

Des progrès sont attendus dans ces directions :

recherche sur les méthodes de décomposition de domaine pour les écoulements diphasiques, et pour les problèmes non-linéaires en général ;

validation de l'utilisation de solveurs linéaires hybrides (itératif / direct, avec une vue algébrique de la décomposition de domaine) sur des problèmes hétérogènes de grande taille ;

développements de codes combinant les modèles de programmation MPI et many-core, qui conduit encore à des problèmes ouverts.

De manière générale le projet progressera dans la direction du co-design d'applications ciblant les modèles de programmation pour processeurs « many-core ». Il s'aligne sur les recommandations de l' « European Exascale Software Initiative » concernant les codes numériques. En plus des avancées méthodologiques dans la théorie et l'utilisation des méthodes de décomposition de domaine pour les écoulements souterrains, un résultat concret du projet sera un code démontrant, sur des exemples, la faisabilité de cette approche.

Publication in journal : F. Cuvelier, C. Japhet and G. Scarella, An efficient way to assemble finite element matrices in vector languages, BIT Numerical Mathematics (2015-12-10): 1-32, 2015.

Conferences:

Groupe de travail « méthodes numériques » UPMC (Paris, mars 2015), F. Cuvelier

Séminaire d'analyse numérique, LAGA, Paris 13 (mars 2015), F. Cuvelier

Conférence Mamern (Pau, juin 2015), C. Japhet

SMAI 2015 (Les Karellis, juin2015), G. Scarella

SMAI 2015 (Les Karellys, juin 2015), Louis Poirel, Emmanuel Agullo, Mathieu Faverge, Luc Giraud

Journées MoMas multiphasique (Nice, octobre 2015), M. Kern

SPPEXA Symposium (Münich, Janvier 2016), M. Kern

Les progrès récents dans les architectures informatiques conduisent à une demande croissante pour des simulations prenant en compte une physique de plus en plus détaillée et réaliste. Les géosciences n'y font pas exception: les simulations de stockage pour les déchets nucléaires demandent de coupler des phénomènes thermiques, hydrauliques, mécaniques et chimiques. Il en est de même pour la séquestration du CO2 dans des aquifères salins, qui demande un couplage fort entre l'écoulement diphasique et les réactions chimiques.
Le but du projet DEDALES est de contribuer aux méthodes mathématiques, et aux outils de simulation, qui seront nécessaires pour rendre possible ces simulations sur la prochaine génération de machines Exascale. Une caractéristique de ces machines sera certainement une structure hiérarchique des éléments de calcul.

Pour des applications nécessitant la résolution de (systèmes) d'équations aux dérivées partielles, les méthodes de décomposition de domaine se sont révélées bien adaptées à ce type d'architectures: dans une méthode DD, un algorithme global itère sur les sous-domaines, et résout des problèmes indépendants, en parallèle (c'est un parallélisme à gros grain). La résolution de ces problèmes de sous-domaine peut elle-même être parallélisée, avec un grain plus fin. La conjonction de ces deux types de parallélisme conduit à une décomposition hiérarchique du problème original. De plus, cette approche se prête à l'utilisation de pas de temps différents dans les sous-domaines, ce qui permet d’adapter la méthode à la physique.

Les méthodes de résolution de systèmes linéaires ont toujours été, et continueront d'être, au centre des codes de simulation. Cependant, il est notoirement difficile de paralléliser les méthodes implicites sur des maillages non-structurés, tels que ceux nécessaires pour représenter fidèlement la géologie complexe des milieux considérés. Enfin, la direction temporelle pourrait fournir un niveau supplémentaire de parallélisme.

Le projet DEDALES montrera que les méthodes de décomposition de domaine espace-temps peuvent fournir ce niveau supplémentaire, et qu'elles peuvent utilement se combiner avec des solveurs parallèles linéaires pour la résolution des problèmes locaux.

Pour accélérer la simulation des écoulements diphasiques, nous proposons une approche à deux niveaux: un niveau global utilisant la décomposition de domaines, parallélisé avec une approche à mémoire distribuée, et un niveau local pour le solveur de sous-domaine, qui exploitera à la fois MPI et un modèle de processus légers (threads). Cette approche se marie ben avec la nature hiérarchique à la fois de la physique et de l'architecture matérielle. Le solveur hybride parallèle qui en résultera sera intégré dans un code open source et validé sur plusieurs exemples de grande taille.

Cette proposition va
- étudier comment les méthodes de décomposition de domaine espace-temps, avec un pas de temps local, peuvent être étendues du cas monophasique (où elles ont prouvé leur efficacité) au cas diphasique ;
- développer un nouveau solveur linéaire hybride combinant une méthode itérative externe, implémentée en MPI, avec une méthode directe implémentée au moyen d'un support d’exécution comme StarPU, et étudier comment adapter ce solveur hybride au cas des modèles issus de l'hydrogéologie, avec leur grande hétérogénéité ;
- implémenter les idées précédents pour montrer qu'elles conduisent à une méthode permettant de tirer parti efficacement des deux niveaux de parallélisme présents dans les calculateur visés.

Coordinateur du projet

Monsieur Michel Kern (Institut National de Recherche en Informatique et Automatique)

L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.

Partenaire

Andra Agence nationale pour la gestion des déchets radioactifs
MdS Maison de la Simulation
Hiepacs Inria Bordeaux - Sud-Ouest
UP13-LAGA Laboratoire Analyse, Géométrie et Applications
Inria Paris-Rocquencourt Institut National de Recherche en Informatique et Automatique

Aide de l'ANR 370 835 euros
Début et durée du projet scientifique : septembre 2014 - 36 Mois

Liens utiles

Inscrivez-vous à notre newsletter
pour recevoir nos actualités
S'inscrire à notre newsletter