Développements du modèle adjoint de la différentiation algorithmique destinés aux applications intensives en calcul
Auteur / Autrice : | Ala Taftaf |
Direction : | Laurent Hascoët |
Type : | Thèse de doctorat |
Discipline(s) : | Mathématiques |
Date : | Soutenance le 17/01/2017 |
Etablissement(s) : | Université Côte d'Azur (ComUE) |
Ecole(s) doctorale(s) : | École doctorale Sciences fondamentales et appliquées (Nice ; 2000-....) |
Partenaire(s) de recherche : | établissement de préparation : Université de Nice (1965-2019) |
Laboratoire : Institut national de recherche en informatique et en automatique (France). Unité de recherche (Sophia Antipolis, Alpes-Maritimes) - Transformations et outils informatiques pour le calcul scientifiqu | |
Jury : | Président / Présidente : Didier Auroux |
Examinateurs / Examinatrices : Laurent Hascoët, Didier Auroux, Bruce Christianson, Uwe Naumann, Jens-Dominik Mueller | |
Rapporteur / Rapporteuse : Bruce Christianson, Uwe Naumann |
Mots clés
Résumé
Le mode adjoint de la Différentiation Algorithmique (DA) est particulièrement intéressant pour le calcul des gradients. Cependant, ce mode utilise les valeurs intermédiaires de la simulation d'origine dans l'ordre inverse à un coût qui augmente avec la longueur de la simulation. La DA cherche des stratégies pour réduire ce coût, par exemple en profitant de la structure du programme donné. Dans ce travail, nous considérons d'une part le cas des boucles à point-fixe pour lesquels plusieurs auteurs ont proposé des stratégies adjointes adaptées. Parmi ces stratégies, nous choisissons celle de B. Christianson. Nous spécifions la méthode choisie et nous décrivons la manière dont nous l'avons implémentée dans l'outil de DA Tapenade. Les expériences sur une application de taille moyenne montrent une réduction importante de la consommation de mémoire. D'autre part, nous étudions le checkpointing dans le cas de programmes parallèles MPI avec des communications point-à-point. Nous proposons des techniques pour appliquer le checkpointing à ces programmes. Nous fournissons des éléments de preuve de correction de nos techniques et nous les expérimentons sur des codes représentatifs. Ce travail a été effectué dans le cadre du projet européen ``AboutFlow''