La conception de superordinateurs toujours plus puissants est un enjeu scientifique, technologique et géopolitique majeur pour notre société. Ils permettent, à la manière d'un téléscope, de faire avancer la science et la technologie pour notre bien commun. Mes travaux de recherche portent sur l'automatisation de la conception et de la programmation des superordinateurs. Spécifiquement, mes contributions couvrent les aspects théoriques et pratiques de (i) la compilation et l'optimisation de programmes et (ii) la synthèse de circuits haut-niveau (High-level synthesis, HLS) pour le calcul haute-performance dans le cadre général du modèle polyédrique. Concernant la compilation et l'optimisation de programmes, je propose plusieurs extensions du tuilage de boucles, une transformation fondamentale pour la parallélisation automatique, qui découpe le calcul en sous-calculs atomiques. J'ai également contribué à la reconnaissance d'algorithmes, pour refactoriser un programme avec des noyaux de calcul optimisés. Concernant la synthèse de circuits haut-niveau, je propose un modèle de compilation unifié pour la synthèse de circuits haut-niveau dans le modèle polyédrique. J'ai notamment inventé les réseaux de processus DPN (Data-aware Process Network), une représentation intermédiaire dataflow qui explicite les transferts de données avec la mémoire externe et j'ai contribué à la synthèse des communications avec une mémoire externe. Mes résultats de recherche en synthèse de circuits haut-niveau ont été transférés et industrialisés, ils sont désormais utilisés dans le compilateur de production de la start-up XtremLogic.
The design of powerful supercomputers is a major scientific, technological and geopolitical challenge for our society. As a telescop, supercomputers make possible major advances in science and technology for our common good. My researches concerns the automation of supercomputer design and programming. Specifically, my contributions cover both theoretical and practical aspects of (i) program compilation and optimization and (ii) high-level synthesis of circuits for high-performance computing in the general framework of the polyhedral model. As concerns program compilation and optimization, I have proposed several extensions of loop tiling, a fundamental program transformation for automatic parallelization, which splits a computation into atomic subcomputations. Also, I have contributed to algorithm recognition, to refactor a program with optimized computation kernels. As concerns high-level synthesis of circuits, I have proposed a unified compilation model for high-level synthesis in the polyhedral model. In particular, I have invented the Data-aware Process Networks (DPN), a dataflow intermediate representation which explicits the data transfers with an external memory and I have contributed to the synthesis of commmunications with an external memory. My research results in high-level synthesis of circuits have been transferred and industrialized, they are now used in the production compiler of the Xtremlogic start-up.
Gratuit
Disciplines