Ingénieur(e) Logiciel - Plateforme de co-intégration matérielle/logicielle pour accélérateurs IA de nouvelle génération (PEPR CAMELIA)
Role details
Job location
Tech stack
Job description
La création de la plateforme logicielle de co-intégration repose sur la mise en place d'un socle logiciel structurant reliant les applications à des architectures cibles qui seront développées dans le cadre du projet. Il doit permettre l'intégration de modèles et de chaînes de traitement d'IA différentes, tout en garantissant des exigences élevées en matière de performance, de portabilité et de maîtrise des dépendances.
Une étape clé consiste à développer et à maintenir des simulateurs logiciels de la plateforme matérielle pour pouvoir développer le reste de la pile applicative et pouvoir estimer les futures performances de l'accélérateur. Une autre étape clé est la construction d'un flot allant des frameworks d'IA, notamment PyTorch, jusqu'à l'exécution sur un accélérateur simulé ou réel, incluant des notions de compilation multi-niveaux (e.g. à base de MLIR).
Le poste s'inscrit dans un environnement de recherche collaborative, en interaction avec des ingénieurs, chercheurs et partenaires académiques répartis sur plusieurs sites.
Les entretiens auront lieux dans la deuxieme quinzaine d'août
Mission confiée
En lien avec les autres ingénieurs et chercheurs impliqués répartis sur plusieurs sites, l'ingénieur participera à des missions en lien avec des lots stratégiques du projet.
- Contribuer au développement des simulateurs
- Contribuer au développement de PetalSIM, simulateur d'accélérateur IA développé en C++ / HLS avec CMake.
- Contribuer au développement de SysSimu, simulateur de systèmes à base de chiplets d'accélérateurs, notamment autour de QEMU.
- Intégrer les contributions des partenaires académiques dans les simulateurs, notamment autour des drivers Linux, runtimes spécifiques et interfaces bas niveau.
- Outils de profiling, de trace et de débogage
- Développer des outils d'analyse de performance autour des simulateurs.
- Mettre en place des mécanismes de trace autour des unités de calcul, des accès mémoire, des accès réseau sur puce (NOC).
- Faciliter le débogage de la pile logicielle, notamment via des intégrations avec GDB ou des outils similaires.
- Produire des métriques exploitables pour guider les choix d'architecture et d'optimisation.
- Intégration dans un flot logiciel complet
- Participer à la construction d'un flot allant des frameworks d'IA, notamment PyTorch, jusqu'à l'exécution sur un accélérateur simulé ou réel.
- Contribuer aux interfaces entre modèles d'IA, compilation, runtime, simulateurs et architecture cible.
- Assurer la robustesse, la reproductibilité et la documentation des développements réalisés.
Le projet CAMELIA ayant une durée de 6 ans, le contrat pourrait avoir une durée allant jusqu'à 6 ans, avec une période initiale de 18 mois renouvelable.
Principales activités
- développement de simulateurs
- intégration de travaux de partenaires
- participer au bon fonctionnement du flot complet (des frameworks d IA à l'éxécution sur accélérateurs)
- rédaction de documentation, présentation des résultats
Requirements
Compétence scientifique et technique
- C++, HLS, Qemu, Python
- git, make
- Connaissances en architecture des ordinateurs ou en architecture d'accélérateurs.
- Compréhension des principes de fonctionnement des GPU, NPU, systolic arrays ou accélérateurs spécialisés
Autres compétences appréciées
- connaissances de RISC-V
- connaissances en architecture de LLM
- connaissances en programmation d'accélérateurs (CUDA, ROCm, ...)
- connaissance sur MLIR
- connaissance en développement et vérification de matériel (System Verilog, VHDL)
- connaissances de base en gestion de projet agile
Qualités personnelles
- Langues : français, anglais
- Excellentes compétences en communication (écrite et verbale) en français et en anglais
- Autonome et capacité à prendre des initiatives
- Goût pour le travail d'équipe dans un environnement de recherche collaborative.
Benefits & conditions
- Restauration subventionnée
- Transports publics remboursés partiellement
- Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
- Possibilité de télétravail (après 6 mois d'ancienneté) et aménagement du temps de travail
- Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
- Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
- Accès à la formation professionnelle
- Sécurité sociale
Rémunération
A partir de 2695€ brut par mois basé sur votre expérience, Sécurité défense : Ce poste est susceptible d'être affecté dans une zone à régime restrictif (ZRR), telle que définie dans le décret n°2011-1425 relatif à la protection du potentiel scientifique et technique de la nation (PPST). L'autorisation d'accès à une zone est délivrée par le chef d'établissement, après avis ministériel favorable, tel que défini dans l'arrêté du 03 juillet 2012, relatif à la PPST. Un avis ministériel défavorable pour un poste affecté dans une ZRR aurait pour conséquence l'annulation du recrutement.
Politique de recrutement : Dans le cadre de sa politique diversité, tous les postes Inria sont accessibles aux personnes en situation de handicap.