Thèse soutenue

Génération automatique de code et optimisation de calculs stencils sur des architectures à mémoire distribuée

FR  |  
EN
Auteur / Autrice : Mariem Saied
Direction : Jens GustedtGilles Muller
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 25/09/2018
Etablissement(s) : Strasbourg
Ecole(s) doctorale(s) : École doctorale Mathématiques, sciences de l'information et de l'ingénieur (Strasbourg ; 1997-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie (Strasbourg ; 2013-....) - Inria Nancy - Grand Est
Equipe de recherche : Compilation pour les Architectures MUlti-coeurS
Jury : Président / Présidente : Cédric Bastoul
Rapporteurs / Rapporteuses : Laurent Réveillère, Sylvain Contassot-Vivier

Résumé

FR  |  
EN

Nous proposons Dido, un langage dédié (DSL) implicitement parallèle qui capture les spécifications de haut niveau des stencils et génère automatiquement du code parallèle de haute performance pour les architectures à mémoire distribuée. Le code généré utilise ORWL en tant que interface de communication et runtime. Nous montrons que Dido réalise un grand progrès en termes de productivité sans sacrifier les performances. Dido prend en charge une large gamme de calculs stencils ainsi que des applications réelles à base de stencils. Nous montrons que le code généré par Dido est bien structuré et se prête à de différentes optimisations possibles. Nous combinons également la technique de génération de code de Dido avec Pluto l'optimiseur polyédrique de boucles pour améliorer la localité des données. Nous présentons des expériences qui prouvent l'efficacité et la scalabilité du code généré qui atteint de meilleures performances que les implémentations ORWL et MPI écrites à la main.