Projet de recherche doctoral numero :3760

Description

Date depot: 1 janvier 1900
Titre: Génération automatique de codes performants et fiables pour l'assimilation de données
Encadrant : Pierre FORTIN (CRISTAL)
Directrice de thèse: Fabienne JEZEQUEL (LIP6)
Domaine scientifique: Sciences et technologies de l'information et de la communication
Thématique CNRS : Non defini

Resumé: Dans le domaine des sciences de l'environnement, la modélisation des phénomènes climatiques fait appel à des codes numériques de très grande taille. De nombreux paramètres de ces modèles sont estimés par assimilation d'observations in-situ ou satellitaires. Nous nous intéressons particulièrement à l'assimilation des données dans les modèles par méthodes variationnelles. Celles-ci sont basées sur la minimisation d'une fonction de coût dont le gradient est calculé par l'adjoint du modèle direct. Le calcul de l'adjoint d'un gros code est une opération délicate. Elle engendre un long travail sur le modèle direct et nécessite dans la plupart des cas une réécriture de celui-ci. Ce constat a mené au développement d'un logiciel d'aide à la programmation d'un code numérique et de son adjoint. Ce logiciel, appelé YAO [1,2], utilise une modélisation sous forme de graphe pour générer à la fois le code du modèle direct et celui de l'adjoint ainsi qu'une boîte à outil type permettant de réaliser entièrement l'assimilation de données. L'approche YAO s'est montrée pertinente sur des codes de tailles petites à moyennes. Des travaux portent actuellement sur la génération automatique par YAO de codes parallèles afin de traiter des problèmes beaucoup plus vastes (par exemple, la modélisation de la circulation océanique à l'échelle globale). Une version de YAO permettant la génération automatique de codes parallèles pour les architectures à mémoire partagée a été développée [3]. Les codes numériques générés utilisent la bibliothèque OpenMP. Une autre partie du projet concerne la validation numérique des codes générés par YAO. Ce travail consiste à intégrer à YAO la bibliothèque CADNA [4,5] afin que les applications générées soient automatiquement associées à cet outil de contrôle des erreurs d’arrondi. Dans un premier temps, les efforts ont porté sur la validation numérique de codes séquentiels générés par YAO, afin que celle-ci devienne un procédé standard qui ne nécessite pas de modification du code de l’application. La qualité numérique de différentes applications générées par YAO a ainsi pu être étudiée [6]. Cette thèse vise à faire générer par YAO des codes numériques à la fois performants et fiables pour les architectures massivement parallèles, qu'elles soient homogènes ou hétérogènes. Il s'agit de générer automatiquement, dans le cadre du formalisme de YAO et en s'appuyant sur les directives OpenMP générées par YAO, des codes pouvant s'exécuter efficacement sur plusieurs noeuds de calcul multicoeurs (via MPI, et grâce à un recouvrement automatique des communications par du calcul) ou sur des architectures parallèles hétérogènes comme les GPU (via des directives de compilation comme par exemple celles du standard OpenACC [7]). Le logiciel YAO sera ensuite modifié afin de générer automatiquement des codes parallèles sur lesquels la propagation d'erreur d'arrondi sera contrôlée. Références : [1] YAO: a Software for Variational Data Assimilation in Numerical Models, http://www.locean-ipsl.upmc.fr/~yao. [2] L. Nardi, C. Sorror, F. Badran, S. Thiria, YAO: A Software for Variational Data Assimilation Using Numerical Models, LNCS 5593, Computational Science and Its Applications - ICCSA 2009, pp. 621-636 (2009). [3] L. Nardi, F. Badran, P. Fortin, S. Thiria, YAO: a generator of parallel code for variational data assimilation applications, 14th IEEE International Conference on High Performance Computing and Communications (HPCC-2012), Liverpool, UK, 25-27 June 2012. [4] The CADNA library, http://www.lip6.fr/cadna. [5] F. Jézéquel, J.-M. Chesneaux, CADNA: a library for estimating round-off error propagation, Computer Physics Communications, Vol. 178, No 12, pp. 933-955 (2008). [6] J. Brajard, P. Li, F. Jézéquel, H.-S. Benavides, S. Thiria, Numerical Validation of Data Assimilation Codes Generated by the Yao Software, SIAM Annual Meeting, San Diego, California, USA, July 8-12 2013. [7] http://www.openacc-standard.org/

Doctorant.e: Eberhart Pacome