Ingénieur Scientifique Contractuel - Ingénierie Logicielle - Architecture Langages et Compilation H/F - INRIA
- Illkirch-Graffenstaden - 67
- CDD
- INRIA
Les missions du poste
A propos d'Inria
Inria est l'institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 scientifiques pour relever les défis du numérique, souvent à l'interface d'autres disciplines. L'institut fait appel à de nombreux talents dans plus d'une quarantaine de métiers différents. 900 personnels d'appui à la recherche et à l'innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 200 start-up. L'institut s'eorce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.
Ingénieur scientifique contractuel / Ingénierie logicielle / Architecture, langages et compilation
Type de contrat : CDD
Niveau de diplôme exigé : Bac +5 ou équivalent
Fonction : Ingénieur scientifique contractuel
Niveau d'expérience souhaité : Jeune diplômé
Contexte et atouts du poste
Le programme de recherche (PEPR) de France 2030 CAMELIA (Composants pour l'Accélération Matérielle Et Logicielle de l'IA) vise à concevoir une plateforme logicielle complète et optimisée permettant d'intégrer, d'optimiser et de déployer efficacement des applications d'IA sur des architectures matérielles hétérogènes de nouvelle génération. L'équipe CAMUS est en charge d'une partie du développement de l'infrastructure logicielle pour la compilation des modèles (grands modèles de langage "LLMs", modèles de représentation vectorielle "embedding models", etc.) depuis une représentation de haut niveau vers un code machine efficace. En nous appuyant sur la forte expérience de l'équipe en termes de technologies de parallélisation, d'optimisation et de vérification automatiques à la compilation, notre objectif est de développer et d'intégrer à l'infrastructure logicielle de nouvelles techniques d'optimisation prenant en compte à la fois les spécificités des calculs d'IA et les propriétés de l'architecture cible. L'ingénieur(e) recruté(e) intègrera l'équipe CAMUS et un environnement scientifique de spécialistes en optimisation automatique du logiciel, il ou elle participera activement à ses activités de recherche et développement.
Mission confiée
L'ingénieur(e) recruté(e) contribuera aux travaux de l'équipe CAMUS pour la réalisation d'une infrastructure de compilation pour les modèles d'IA sur les architectures matérielles visées et/ou développées par le projet. Il ou elle participera à la formalisation des jeux d'instructions cibles en lien avec les partenaires du projet concernés, ainsi qu'à la mise en oeuvre de nouvelles approches de compilation d'opérateurs d'IA ciblant ces jeux d'instructions.
Nous recherchons un(e) ingénieur(e) logiciel avec une solide expérience et/ou une formation intégrant techniques de compilation avancée, techniques d'optimisation des logiciels et solide compréhension des architectures matérielles (processeur, jeu d'instructions, hérarchies mémoire). Ce travail sera réalisé en étroite collaboration avec des chercheurs et ingénieurs spécialisés en compilation et architecture.
Principales activités
- Analyser l'état de l'art sur la formalisation des jeux d'instructions pertinents pour les calculs d'IA,
- Définir avec les partenaires la formalisation du jeu d'instructions adaptée au projet, et implémenter les moyens pour manipuler cette abstraction dans une infrastructure de compilation,
- Développer, tester, évaluer et intégrer des techniques de sélection d'instructions et de génération de micro-noyaux optimisés basées sur la formalisation du jeu d'instruction et une formalisation du calcul à réaliser,
- Collaborer avec l'équipe et ses partenaires à la construction de l'infrastructure de compilation visée.
- Assurer la veille technologique dans les domaines concernés par la mission.
Compétences
- Solides connaissances et compétences en compilation et optimisation du logiciel
- Bonne compréhension de l'architecture matérielle et du développement bas niveau (intrinsics, assembleur)
- Excellentes compétences en développement logiciel en C/C++ et Python en environnement Linux
- Capacité à lire et comprendre la littérature scientifique en anglais
- Capacité à évoluer en environnement international avec l'anglais comme langue de travail
Avantages
- 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 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 oeuvres sociales d'Inria)
- Accès à la formation professionnelle
- Sécurité sociale
Rémunération
A partir de 2692 € brut/mois selon diplômes et expérience