Type de poste : Doctorat
Laboratoire : Commissariat à l'énergie atomique et aux énergies alternatives (CEA)
Date limite de candidature : 1 Juillet 2026
Résumé du sujet :
Pour des raisons d'énergie les futurs ordinateurs devront
utiliser des accélérateurs pour le calcul comme pour les accès à
la mémoire (GPU, TPU, NPU, DMA intelligents). Les application
d'IA ont des besoins en calcul intensif à la fois en intensité de
calcul et en débits mémoire.
Ces accélérateurs ne se basent pas sur un jeu d'instruction
simple (ISA), ils s'affranchissent du modèle de Von Neuman et ils
nécessitent d'écrire manuellement du code spécialisé.
Par ailleurs, il est difficile de comparer l'utilisation de ces
accélérateurs avec un code utilisant un processeur non
spécialisé, les codes sources initiaux étant très différents.
HybroLang est un langage de programmation proche matériel
permettant d'exprimer des programmes utilisant toutes les
capacités de calcul d'un processeur tout en permettant une
spécialisation du code en fonction des données connues à
l'exécution.
Le compilateur HybroGen a déjà démontré sa capacité de
programmation d'accélérateurs de calcul en mémoire, comme en
optimisation de code sur CPU classique en réalisant des
optimisations innovantes.
Cette thèse se propose d'étendre le langage HybroLang afin de :
- faciliter la programmation d'application d'IA apportant le
support pour des données complexes : stencils, convolution,
calcul clairsemé
- permettre la génération de code à la fois sur CPU et avec des
accélérateurs matériels en cours de développement au
CEA (calcul clairsemé, calcul en mémoire, accès à la mémoire)
- permettre la comparaison d'architectures différentes en partant
d'un seul code source d'application
Idéalement un candidat devra avoir des connaissances dans les
domaines suivants : architecture des ordinateurs, implémentation
de langage de programmation, compilation et optimisation de code.