Thèse soutenue

Validation de traduction pour compilateurs de tenseurs

FR  |  
EN
Auteur / Autrice : Basile Clément
Direction : Xavier LeroyAlbert Henri Cohen
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 09/09/2022
Etablissement(s) : Université Paris sciences et lettres
Ecole(s) doctorale(s) : École doctorale Sciences mathématiques de Paris centre (Paris ; 2000-....)
Partenaire(s) de recherche : Laboratoire : École normale supérieure (Paris ; 1985-....). Département d'informatique
Établissement de préparation de la thèse : École normale supérieure (Paris ; 1985-....)
Jury : Président / Présidente : Xavier Rival
Examinateurs / Examinatrices : Xavier Leroy, Albert Henri Cohen, Xavier Rival, Christophe Alias, Sandrine Blazy, Corinne Ancourt, Jonathan Ragan-Kelley
Rapporteur / Rapporteuse : George C. Necula, Christophe Alias

Mots clés

FR  |  
EN

Mots clés contrôlés

Résumé

FR  |  
EN

Les compilateurs de tenseurs sont utilisés dans des domaines comme le traitement d'image et l'apprentissage profond pour générer du code bas niveau efficace à partir de spécification de haut niveau sur des tenseurs multi-dimensionnels. Le code généré peut présenter une structure drastiquement différente de celle de la spécification suite à l'application de transformations de boucles et de simplifications algébriques. La vérification formelle des compilateurs de tenseurs est donc une tâche ardue, qui ne peut être traitée par les techniques standard à base de bisimulations. Je propose une nouvelle méthode pour la vérification de compilateurs de tenseurs en présence de transformations algébriques et de boucles. Cette méthode s'inspire des techniques polyédriques de représentation de programmes, et s'appuie sur une association de raffinement depuis les affectations dans le code bas niveau vers les définitions de tenseurs dans la spécification fournie par le compilateur. Chaque exécution du compilateur est vérifiée par un outil de vérification indépendant implanté en OCaml, faisant donc de la méthode un validateur de traduction. Cet outil de vérification est testé sur Halide, un compilateur de tenseurs de niveau industriel.