Utilisation de langages de construction matérielle pour une exploration flexible des espaces de conception sur FPGA
Auteur / Autrice : | Bruno Ferres |
Direction : | Frédéric Rousseau, Olivier 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, Isère, France ; 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 | |
Rapporteur / Rapporteuse : Sébastien Pillement, Virginie Fresse |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
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.