| Higher-level synthesis methodology for heterogeneous software and hardware architectures (Méthodologie de synthèse de très haut niveau pour des architectures hétérogènes logicielles et matérielles) Lounes, Gaëtan - (2026-07-15) / Université de Rennes Higher-level synthesis methodology for heterogeneous software and hardware architectures
| |||
Langue : Anglais Directeur(s) de thèse: Gautier, Matthieu Discipline : Informatique Laboratoire : IRISA Ecole Doctorale : MATISSE Classification : Informatique Mots-clés : frontaux de compilation, DSE, Julia, HLS, MLIR
| |||
Résumé : L'informatique moderne repose de plus en plus sur des architectures hétérogènes, incluant des CPU, des GPU et du matériel reconfigurable tel que les FPGA. Bien que la HLS permette de générer du matériel à partir de logiciels, les chaînes d'outils existantes s'appuient souvent sur des frontaux rigides, ce qui limite leur flexibilité et leur expressivité. Combler le fossé entre les environnements de programmation de haut niveau et la compilation matériel demeure un défi majeur. Cette thèse étudie l'intégration de langages de programmation scientifiques de haut niveau avec la HLS, en s'appuyant sur Julia tout au long de sa chaîne de compilation et en exploitant son architecture modulaire. En particulier, elle explore la génération de matériel via des représentations LLVM et MLIR, permettant une interaction flexible avec les frameworks HLS modernes. Le travail examine également des applications en aval à travers la simulation et l'injection de fautes, afin de soutenir l'évaluation des mécanismes de tolérance aux fautes à l'aide de représentations riches issues de la compilation. Dans l'ensemble, cette thèse montre comment des infrastructures de compilation flexibles et des représentations intermédiaires modernes peuvent réduire l'écart entre la programmation de haut niveau et la conception matérielle, tout en mettant en évidence l'intérêt des approches gérées par les compilateurs. Abstract : Modern computing increasingly relies on heterogeneous architectures, including CPUs, GPUs, and reconfigurable hardware such as FPGAs. While High-Level Synthesis (HLS) enables hardware generation from software, existing toolchains often rely on rigid front-ends, limiting flexibility and expressivity. Bridging high-level programming environments with hardware-oriented compilation remains a key challenge. This thesis investigates the integration of scientific high-level programming languages with HLS, leveraging Julia throughout its compilation pipeline and exploiting its modular architecture. In particular, it explores hardware generation via custom LLVM and MLIR code, enabling flexible interaction with modern HLS frameworks. The work further examines back-end applications through simulation and fault injection, supporting the evaluation of fault tolerance mechanisms using rich compiler representations. Overall, this thesis demonstrates how flexible compiler infrastructures and modern intermediate representations can reduce the gap between high-level programming and hardware design, highlighting the potential of compiler-driven methodologies. | |||