Pause
Lecture
Moteur de recherche d'offres d'emploi CEA

Ingénieur.e Innovation en compilation / optimisation de code


Détail de l'offre

Informations générales

Entité de rattachement

Le Commissariat à l'énergie atomique et aux énergies alternatives (CEA) est un organisme public de recherche.

Acteur majeur de la recherche, du développement et de l'innovation, le CEA intervient dans le cadre de ses quatre missions :
. la défense et la sécurité
. l'énergie nucléaire (fission et fusion)
. la recherche technologique pour l'industrie
. la recherche fondamentale (sciences de la matière et sciences de la vie).

Avec ses 16000 salariés -techniciens, ingénieurs, chercheurs, et personnel en soutien à la recherche- le CEA participe à de nombreux projets de collaboration aux côtés de ses partenaires académiques et industriels.  

Référence

2021-17578  

Description de la Direction

Au sein de CEA Tech, le pôle « recherche technologique » du CEA, l'Institut List dédie ses activités aux systèmes numériques intelligents avec des programmes de R&D dans le manufacturing avancé, les systèmes embarqués, et l'intelligence ambiante. Nous accompagnons nos partenaires dans les domaines des transports, de l'industrie, de l'énergie, de la santé, de la sécurité et de la défense, pour transférer les technologies issues de l'innovation et améliorer leur compétitivité ;

Description de l'unité

Au sein du département des Systèmes et Circuits intégrés Numériques, le Laboratoire LFIM (Laboratoire Fonctions Innovantes pour circuits Mixtes) étudie et développe des solutions innovantes en termes d'architectures et outils logiciels dans plusieurs domaines : le calcul proche mémoire, les circuits sécurisés, les plateformes basées sur un cœur RISC-V pour IoT et télécom, les circuits mixtes pour applications industrielles.

Description du poste

Domaine

Sciences pour l'ingénieur

Contrat

CDD

Intitulé de l'offre

Ingénieur.e Innovation en compilation / optimisation de code

Statut du poste

Cadre

Durée du contrat (en mois)

18

Description de l'offre

Thématique : Compilation, lien application et architecture de calcul.


Les architectures de calcul deviennent très complexe à programmer pour de multiples raisons liées à l'évolution technologique. Les compilateurs actuels ont du mal à traduire une application en code exécutable et exploiter au mieux ces nouvelles architectures. Dans notre laboratoire, nous tentons d’inventer des outils qui permettent d'améliorer la programmabilité des accélérateurs de calcul.


Nous avons développé un compilateur : Hybrogen qui permet de résoudre en partie ces difficultés et d’innover dans le domaine de la génération de code. Il s’insère dans une chaîne de compilation classique et permet de créer des applications qui seront capable de résoudre les challenges précités (actuellement pour les plateformes RISCV, POWER, In Memory Computing et Kalray). Pour mesurer l’efficacité du résultat, nous utilisons le simulateur d’instructions QEMU avec des plugins qui permettent de mesurer l’efficacité en vitesse et en énergie des applications transformées.

Le candidat travaillera sur la plateforme Hybrogen et sur les plugins de QEMU pour améliorer sa qualité et son efficacité.

Tâches à réaliser :
Voici une liste de tâches (non exhaustive) à réaliser :
• Pour compléter ce compilateur : ajouter des nouvelles plateformes, compléter les plateformes existantes, ajouter des optimisations spécifiques,
• Réaliser des démonstrations demandées dans les projets collaboratifs en cours
• Publier des résultats liés à cette plateforme dans des conférences et journaux académiques
• Accompagner des industriels qui pourraient être intéressés par l’adaptation de cette plateforme à des processeurs innovants et/ou accélérer leurs applications

Environnement
Le travail s’effectuera en équipe, en collaboration avec les auteurs de Hybrogen. L’environnement du laboratoire est constitué de chercheurs, doctorants, ingénieurs multidisciplinaires dont les compétences vont du développement de circuits mémoire, jusqu’au développement d’applications en passant par la compilation.

Profil du candidat

Connaissances nécessaires :

 
Le candidat devra avoir des connaissances sur les points suivants (pas forcément tous) :

  • L'architecture des ordinateurs, des hiérarchies mémoire, des unités vectorielles
  • Les outils de compilation, les formes intermédiaires de compilateur, l'extraction de parallélisme
  • La modélisation d'architecture pour la vitesse, la consommation électrique, d'autres métriques.
  • Connaître les méthodologies de recherche des équipes de recherche en design de mémoire, de processeur et en compilation.
  • Des qualités rédactionnelles pour des publications académiques et des rapports technique
  • L’utilisation de l’environnement Linux 

Des connaissances dans les outils utilisés dans notre projet sont un plus, mais non indispensables : programmation objet (python), lexer / parser (ANTLR), moteur de base de données (postgresql), simulateur d’instruction (QEMU), la gestion de release (GIT)

Qualifications minimales :

Un doctorat ou un post-doc en informatique

Expérience dans un ou plusieurs domaines : la simulation d'architectures, la modélisation de performances, la modélisation d’accès mémoire, les jeux d'instructions, la compilation bas niveau.

Localisation du poste

Site

Grenoble

Localisation du poste

France, Auvergne-Rhône-Alpes, Isère (38)

Ville

  Grenoble

Critères candidat

Langues

  • Anglais (Courant)
  • Français (Courant)

Formation recommandée

Doctorat

Demandeur

Disponibilité du poste

02/08/2021