Soutenance de thèse "Compiling Trees : combining Data Layouts and the Polyhedral Model"

J’ai eu le plaisir d’être rapporteur de la thèse de Paul Iannetta dont le titre est “Compilation des arbres : Représentation mémoire et modèle polyédrique”. Dans cette thèse, Paul Iannetta montre les liens possibles entre le modèle polyhédrique utilisé dans le domaine de l’extraction de parallélisme et la manipulation de structures de données d’arbre en mémoire. Accessoirement c’est sympa de revenir dans les locaux ou l’on a soit même passé sa thèse “quelques” années plus tôt. Le manuscrit sera bientôt disponible ici : https://theses.fr/s219375

Le jury était composé de : CHARLES Henri-Pierre, Directeur de Recherche, CEA Grenoble Rapporteur. CLAUSS Philippe, Professeur des Universités, Université de Strasbourg Rapporteur. COLLANGE Caroline, Chargée de Recherche, Inria Rennes Examinatrice. KELLER Gabriele, Full Professor, Utrecht University Examinatrice. GONNORD Laure, Professeure des Universités, GrenobleINP Directrice de thèse. RADANNE Gabriel, Chargé de Recherche, Inria Lyon Encadrant. MOREL Lionel, Maître de Conférences, Insa de Lyon Encadrant.

Le résumé de la thèse est le suivant:

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.