Thèse soutenue

Description et compilation d'opérateurs arithmétique ad-hoc dans un contexte de synthèse de haut niveau

FR  |  
EN
Auteur / Autrice : Luc Forget
Direction : Florent Dupont de Dinechin
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 29/06/2023
Etablissement(s) : Lyon, INSA
Ecole(s) doctorale(s) : École doctorale en Informatique et Mathématiques de Lyon (Lyon ; 2009-....)
Partenaire(s) de recherche : Membre de : Université de Lyon (2015-....)
Laboratoire : CITI - Centre d'Innovation en Télécommunications et Intégration de services (Lyon, INSA) - CITI Centre of Innovation in Telecommunications and Integration of services / CITI
Equipe de recherche : EMERAUDE - Systèmes Embarqués audio programmables
Jury : Président / Présidente : Fabrice Rastello
Examinateurs / Examinatrices : Florent Dupont de Dinechin, Fabrice Rastello, Steven Derrien, Fabrizio Ferrandi, Roselyne Chotin-Avot, Anastasia Volkova
Rapporteurs / Rapporteuses : Steven Derrien, Fabrizio Ferrandi

Résumé

FR  |  
EN

Les techniques de synthèse de haut niveau permettent aux programmeurs non spécialistes de générer des de- scriptions de circuits numériques en utilisant des langages de programmation généralistes. Cependant, les outils existants ne supportent qu’un petit nombre de formats numériques et un petit nombre d’opérateurs standards. Cette thèse présente plusieurs techniques pour rajouter le support de nouveaux formats et de nouveaux opérateurs. Dans un premier temps, l’étude se focalise sur ce qui est réalisable en se restreignant aux fonctionnalités de métaprogrammation du standard C++ supporté par les outils HLS. Une bibliothèque d’opérateurs élémentaires pour les formats IEEE-754 et posit de taille arbitraire est proposée. Elle sert de base à une étude de cas comparant le coût matériel de l’implémentation de ces deux formats. L’implémentation d’évaluateurs de fonctions mathématiques arbitraires se heurte aux limites de la première approche. Dans un second temps, l’étude se porte sur les possibilités offertes par la modification du flot de compilation HLS, avec comme objectif de supporter cette fonctionnalité. Une bibliothèque permettant au développeur de spécifier des opérateurs pour approximer des fonctions arbitraires en précision arbitraire est présentée. Deux approches pour l’interfaçage de cette bibliothèque avec les outils de HLS sont proposées, selon que l’on a ou pas accès aux sources des compilateurs HLS.