Thèse soutenue

Utilisation de langages de construction matérielle pour une exploration flexible des espaces de conception sur FPGA

FR  |  
EN
Auteur / Autrice : Bruno Ferres
Direction : Frédéric RousseauOlivier Muller
Type : Thèse de doctorat
Discipline(s) : Nanoélectronique et nanotechnologie
Date : Soutenance le 23/03/2022
Etablissement(s) : Université Grenoble Alpes
Ecole(s) doctorale(s) : École doctorale électronique, électrotechnique, automatique, traitement du signal (Grenoble ; 199.-....)
Partenaire(s) de recherche : Laboratoire : Techniques de l’informatique et de la microélectronique pour l’architecture des systèmes intégrés (Grenoble ; 1994-....) - Equipe de recherche System level synthesis (Grenoble)
Jury : Président / Présidente : Sébastien Pillement
Examinateurs / Examinatrices : Régis Leveugle, Christophe Jego, Pierre-Henri Horrein
Rapporteurs / Rapporteuses : Sébastien Pillement, Virginie Fresse

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

Dans un monde où le besoin de ressources de calcul croit exponentiellement, les accélérateurs matériels à base de FPGA s’imposent comme alternatives à haute efficacité énergétique aux processeurs généralistes. Cependant, alors que les méthodes de développement logiciel profitent de nouveaux paradigmes pour améliorer la productivité, la conception de circuits numériques demeurent une tâche compliquée où le temps et l’expertise restent cruciaux.Afin d’améliorer la productivité des développeurs matériel, nous explorons la possibilité d’utiliser un nouveau paradigme basé sur les langages de construction matérielle, qui permettent de construire des générateurs paramétriques de circuits, améliorant à la fois la réutilisabilité et la paramétrisation, et d’utiliser des fonctionnalités de haut niveau telles que la programmation orientée objet ou encore laprogrammation fonctionnelle.La première contribution de ce projet vise à faciliter la comparaison d’accélérateurs en exposant différentes métriques et méthodologies d’estimation de circuits, afin de fournir aux développeurs et aux outils des retours constructifs sur le processus de développement.Nous nous intéressons ensuite à l’exploitation de ce nouveau paradigme pour la génération et la comparaison d’architectures, et introduisons deux méthodologies complémentaires: la méta conception et la méta exploration. La méta conception est basée sur une analyse préalable de l’algorithme cible afin de concevoir un générateur paramétrique de circuits, où chaque implémentation générée s’intègredans un espace de conception à explorer. La méta exploration est ensuite utilisée afin de mettre à profit l’expertise de l’utilisateur à propos du domaine applicatif et du matériel cible, permettant une exploration efficace de l’espace ainsi généré.Parmis les langages de construction matérielle disponibles, nous choisissons Chisel afin de concevoir QECE — Quick Exploration using Chisel Estimators — comme démonstrateur pour les deux contributions. Comme Chisel est basé sur Scala, nous amenons ce faisant des fonctionnalités de haut niveau du développement logiciel au monde du matériel. Finalement, nous démontronsl’utilisabilité des méthodologies présentées en développant un ensemble de noyaux applicatifs représentatifs de l’utilisation des FPGA, et en mettant en avant différents scénarios d’estimation et d’exploitation.Cette thèse est une initiative pour améliorer l’expressivité des développeurs matériels, en leur fournissant des fonctionnalités à fort potentiel telles que la programmation fonctionnelle ou le développement orienté objet.