Auteur / Autrice : | Paul Iannetta |
Direction : | Laure Gonnord |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 02/05/2022 |
Etablissement(s) : | Lyon |
Ecole(s) doctorale(s) : | École doctorale en Informatique et Mathématiques de Lyon |
Partenaire(s) de recherche : | établissement opérateur d'inscription : École normale supérieure de Lyon (2010-...) |
Laboratoire : Laboratoire de l'informatique du parallélisme (Lyon ; 1988-....) - Compilation et Analyse, Logiciel et Matériel | |
Jury : | Président / Présidente : Philippe Clauss |
Examinateurs / Examinatrices : Laure Gonnord, Philippe Clauss, Henri-Pierre Charles, Caroline Collange, Gabriele Keller, Lionel Morel, Gabriel Radanne | |
Rapporteurs / Rapporteuses : Philippe Clauss, Henri-Pierre Charles |
Mots clés
Résumé
Le modèle polyédrique est un framework algébrique qui permet une optimisation efficace des programmes de calculs intensifs. Ce domaine de recherche a été un domaine de recherche prolifique depuis sa création. Cependant, ses hypothèses fortes sur la forme du flot de contrôle et des accès mémoires rendent son application assez limitée en pratique, même si de nombreux efforts ont été faits pour l'étendre, principalement en autorisant des programmes avec des flots de contrôle plus complexes. Dans cette thèse, nous proposons d'explorer deux directions de recherche afin de traiter un flot de contrôle et des accès mémoires de forme arbitraire, et de cibler d'autres structures de données que les tableaux. Notre première contribution est une reformulation sémantique du modèle polyédrique qui répond partiellement à la première question et qui pourrait servir de base mathématique pour des résultats plus fins sur les extensions possibles de la portée du modèle. Cette contribution met en évidence les propriétés statiques des programmes utilisées par les algorithmes polyédriques.Notre deuxième contribution traite des types de données algébriques, tels que les arbres, qui, s'ils ne sont pas aussi courants que les tableaux dans les programmes scientifiques, sont omniprésents dans de nombreux algorithmes. Nous proposons un schéma de compilation pour ces types de donnée, en les représentant en mémoire selon une disposition fixe. Les mouvements en mémoire sont caractérisés dans le style du modèle polyédrique, ce qui permet une génération de code C optimisée. En résumé, cette thèse contribue à la recherche en cours sur le modèle polyédrique sur deux points : en donnant un autre point de vue sur les programmes polyédriques et en explorant comment les types de données algébriques pourraient réutiliser les idées du cadre.