Techniques de compilation flexibles et rapides pour la parallelization polyédrique et spéculative
Auteur / Autrice : | Juan Manuel Martinez Caamaño |
Direction : | Philippe Clauss |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 29/09/2016 |
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-....) |
Jury : | Président / Présidente : Erven Rohou |
Examinateurs / Examinatrices : Philippe Helluy | |
Rapporteurs / Rapporteuses : Fabrice Rastello, Henri-Pierre Charles |
Mots clés
Résumé
Dans cette thèse, nous présentons nos contributions à APOLLO : un compilateur de parallélisation automatique qui combine l'optimisation polyédrique et la parallélisation spéculative, afin d'optimiser des programmes dynamiques à la volée. Grâce à une phase de profilage en ligne et un modèle spéculatif du comportement mémoire du programme cible, Apollo est capable de sélectionner une optimisation et de générer le code résultant. Pendant l'exécution du programme optimisé, Apollo vérifie constamment la validité du modèle spéculatif. La contribution principale de cette thèse est un mécanisme de génération de code qui permet d'instancier toute transformation polyédrique, au cours de l'exécution du programme cible, sans engendrer de surcoût temporel majeur. Ce procédé est désormais utilisé dans Apollo. Nous l'appelons Code-Bones. Il procure des gains de performance significatifs par comparaison aux autres approches.