Tâche NUM-2 : Méthodes de décomposition pour la validation et et la vérification de simulations de calcul scientifique par une approche multi-solveurs adaptatifs
Le développement de méthodes numériques hautes performances de calcul scientifique qui puisse fournir à la fois la solution ainsi que des informations sur sa qualité et la confiance qu’il est possible de lui accorder, est devenu stratégique dans le monde de la recherche et industriel, notamment avec la démocratisation des moyens de calcul en terme de coût. Ceci nécessite des techniques de calcul qui puissent s’adapter en cours de simulation à tous les niveaux (modèle, discrétisation, solveur) sur des critères mathématiques a posteriori. Les techniques usuelles de décomposition en espace et/ou fonctionnelle sont limitées par le nombre de degrés de liberté du problème. Il paraît donc judicieux d’utiliser la puissance de calcul restant disponible pour améliorer la confiance dans les résultats par des techniques de validations et de vérifications conduites par des estimateurs numériques.
Nous proposons des recherches dans les domaines suivants :
Algorithmes numériques hautes performances de décomposition de domaine : On vise à développer de tels algorithmes de décomposition (en espace et/ou en temps), tolérants aux temps de latence élevés et aux bandes passantes faibles, et de leur conduite par des estimateurs mathématiques. On s’intéressera notamment à des méthodes de Aitken-Schwarz sur des maillages non uniformes pour des décompositions de domaines hétérogènes, et des méthodes de décomposition en temps pour les systèmes d’ODEs/PDEs raides. On envisage de développer ces techniques sous forme de bibliothèques modulaires orientées objets avec définition des interfaces, et des classes d’opérateurs.
Méthodes numériques de réduction de modèles non-linéaires : Nous souhaitons étudier l’accélération des méthodes de type Newton-Krylov par des techniques de Proper Orthogonal Decomposition. La décomposition en valeurs singulières peut être calculée sur un cluster de processeurs indépendant du cluster de processeurs de l’application, les deux clusters pouvant être connectés par un réseau lent. La POD peut être enrichie de manière asynchrone et retourner la base réduite de même. On peut tirer deux avantages supplémentaires de cette POD : d’une part la possibilité de pouvoir reconstituer une solution approchée en cas de perte d’une partie des processeurs de calculs ; d’autre part obtenir des informations sur les solutions pouvant permettre de valider les calculs.
Validation et vérification : On souhaite développer des techniques numériques parallèles auto-adaptatives de modélisation, discrétisation, résolution pour la validation et la vérification de simulation numériques, procurant ainsi une confiance accrue dans les résultats de calcul scientifique de phénomènes complexes. On attachera ici une importance particulière à la construction des outils logiciels correspondants. Les développements proposés s’articulent autour de deux axes :
construction de modules de bibliothèque scientifique qui pourront encapsuler des bibliothèques « statiques » standard, en apportant une valeur ajoutée en termes d’indicateurs sur la qualité de la solution, permettant ainsi de choisir dynamiquement le comportement des algorithmes de résolutions ou les modèles de simulations ou encore les méthodes et pas de discrétisation ;
Conception de classes de modèles, de schémas, et de méthodes de résolutions, qui peuvent s’exécuter de manières concurrentes et concertées sur différents clusters de processeurs pour obtenir une solution avec des informations pertinentes sur sa qualité.
Les applications visées sont notamment les problèmes de réseau de fractures en mécanique des structures, les fluides géophysiques, les systèmes d’ODEs/PDEs en chimie, la modélisation de milieux poreux