Projet ANR-14-CE23-0005 – DEDALES : Décomposition de domaines algébriques et géométriques pour les écoulements souterrains
Programme : Données massives, connaissances, décision, calcul haute performance et simulation numérique (DS0708)
Année de financement : 2014
Coordinateur du projet : Monsieur Michel Kern (Institut National de Recherche en Informatique et Automatique)
Partenaires : Divers public; Algorithmes Parallèles Hautement Scalables pour les Simulations Numériques Frontières; Laboratoire public; Laboratoire Analyse, Géométrie et Applications; Maison de la Simulation
Montant : 370835.0 euros
Date de début : 2014
Durée : 48 mois
Résumé : Décomposition de domaines algébriques et géométrique pour les écoulements souterrainsLes 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 objectifsLes 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”. 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. 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. 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.
Méthodes / ApprochesLe 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.
Résumé de la soumission : 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.
Résultats : 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.
Perspectives : 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.
Publications et brevets : 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