Qui sommes-nous ?
Espace utilisateur
Formation continue
Credit : L. Godart/CEA
D’un jour à plusieurs semaines, nos formations permettent une montée en compétence dans votre emploi ou accompagnent vers le retour à l’emploi. 
Conseil et accompagnement
Crédit : vgajic
Fort de plus de 60 ans d’expériences, l’INSTN accompagne les entreprises et organismes à différents stades de leurs projets de développement du capital humain.
Thèses
Accueil   /   Thèses   /   Support logiciel pour l'utilisation d'accélérateur de calcul et de transfert mémoire

Support logiciel pour l'utilisation d'accélérateur de calcul et de transfert mémoire

Défis technologiques Informatique et logiciels Nouveaux paradigmes de calculs, circuits et technologies, dont le quantique Sciences pour l’ingénieur

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.

Laboratoire

Département Systèmes et Circuits Intégrés Numériques (LIST)
DSCIN
Laboratoire Systèmes-sur-puce et Technologies Avancées
Top envelopegraduation-hatlicensebookuserusersmap-markercalendar-fullbubblecrossmenuarrow-down