Stage - Bac+4 - +5 - Implémentation d'Une Représentation Intermédiaire pour Modane H/F
Stage FRANCE
Description de l'offre
Description
Afin d'ouvrir la porte à des optimisations plus poussées exploitant pleinement les spécificités du langage, l'introduction d'une « représentation intermédiaire » (IR) capturant ces spécificités devient nécessaire. Dans le domaine de la compilation, le projet MLIR (Multi-Level Intermediate Representation, https://mlir.llvm.org/) prend de plus en plus d'ampleur. Basé sur LLVM (https://llvm.org/), MLIR offre un catalogue de « dialectes » permettant d'exprimer les spécificités d'un domaine donné et de les capturer sous la forme d'une IR mélangeant différents dialectes. Ceci permet d'effectuer des passes de transformation « domain-specific » avant d'enchaîner sur les passes de transformations génériques de LLVM, aboutissant soit à la création d'un binaire, soit à la génération de code optimisé. Dans ce stage d'une durée de 4 à 6 mois, nous proposons au(à la) candidat(e) d'étudier dans un premier temps une solution de génération depuis Modane vers MLIR, puis de la mettre en oeuvre. Ceci consistera en l'évaluation de la pertinence des différents dialectes MLIR disponibles dans le cadre de Modane, et au besoin, en la création d'un dialecte qui y sera dédié, afin de capturer les spécificités de Modane que d'autres dialectes ne seraient pas en mesure de capturer. Dans un second temps, nous considérerons l'implémentation d'une étape de génération de code C++ ou LLVM. Conformément aux engagements pris par le CEA en faveur de l'intégration des personnes handicapées, cet emploi est ouvert à toutes et à tous. Le CEA propose des aménagements et/ou des possibilités d'organisation pour l'inclusion des travailleurs handicapés. Participant à la protection nationale, une enquête administrative est réalisée pour tous les collaborateurs du CEA afin d'assurer l'intégrité et la sécurité de la nation.
Date de début
24 oct., 2025
Profil
Le stage nécessitera des développements en langage C++ ou Python sous Linux Bac +4/+5
Formation
RJ/Qualif/Ingenieur_B5
Secteur
Ind_hightech_telecom