Les offres de “EN-CORE.IO”

Il y a 10 joursEN-CORE.IO

Ingénieur IA embarquée - optimisation d'algorithme (C/C++)

  • CDI
  • Grenoble (Isère)

Description de l'offre

Vous rejoignez l'équipe en charge du développement d'un outil permettant de porter un réseau de neurones pré-entrainé sur la cible processeur multi-coeurs.

Ceci pour n'importe type de réseau, à la manière d'un compilateur : transcrire l'expression du réseau en briques d'opérations unitaires qui pourront ensuite être implémentées sur la cible processeur.
Dans l'équipe, vous participerez à l'écriture des librairies de blocs de base sur lesquels s'appuie le compilateur pour transcrire le réseau de neurones.

Ces briques constituent des opérations élémentaires et des flots d'opérations pouvant être séquencées et parallélisées pour déployer le réseau de neurones sur la cible multi-CPU.

Quelques exemples de ces briques de base (non exhaustif) : des convolutions, opérations matricielles, FFT, MAC, opérations mémoires spécifiques etc...

Vous interviendrez dans :

- l'écriture et l'optimisation de ces briques, avec l'objectif de réduire au maximum les cycles d'horloge et la consommation des ressources.

- l'écriture des tests de performance et le support aux équipes benchmark

- les choix stratégiques concernant la librairie, notamment sur le choix des nouvelles fonctionnalités à inclure pour s'adapter aux nouveaux réseaux de neurones, tout en gérant les rétrocompatibilités.

Pour cela, vous serez au plus près de l'architecture matérielle du processeur. Vous travaillerez en C et C++, avec régulièrement des optimisations à effectuer au niveau assembleur.

Attendez-vous à un poste dynamique, car en constante évolution avec les avancées des réseaux de neurones !
>

Profil recherché

Etre à l'aise en développement C et C++ proche de la machine. Vous êtes capable d'implémenter des fonctionnalités en tenant compte de l'architecture interne de la cible CPU sur laquelle vous développez.
Aimer l'aspect optimisation et performance.. ce point est certainement le plus important.

Ensuite, toute expérience en parallélisation (que ce soit via OpenCL, CUDA, OpenMP ou autre), mesure de performance (NVIDIA Nsight, Intel Vtune..) et des connaissances sur les principaux frameworks de machine learning (TensorFlow, Pytorch..) seront appréciées.

Bien évidemment, nul besoin de maîtriser l'intégralité de ces technos/frameworks. L'essentiel pour vous sera surtout d'avoir à coeur d'appliquer vos raisonnements algorithmiques dans vos développements, proches de la machine.

Un poste pour passionné(e)s qui aiment repousser les limites d'une cible matérielle.

Comme toujours (on ne le dira jamais assez !) : ce poste est à pourvoir en CDI direct dans les équipes de notre client, sans prestation. C'est mieux comme ça, nan ?

A bientôt ;)

À propos de EN-CORE.IO

Une société French-tech, fabless et grenobloise. Notre client conçoit et produit un processeur spécialisé dans le traitement de données dit "intelligent".

L'architecture matérielle massivement parallèle de leur produit rend possible l'exécution performante d'une grande diversité d'opérations complexes : virtualisation, gestion d'espace mémoire en datacenter, vision par ordinateur, gestion réseau 5G..

L'équipe est composée d'une centaine de personnes regroupées en 2 grands pôles majeurs :

1 - L'équipe Hardware en charge du design digital (front-end et backend) du processeur, ainsi que la conception des cartes électroniques accueillant les SoC

2 - L'équipe Software qui développe et maintient tout l'écosystème logiciel du produit : RTOS et OS Linux, drivers spécifiques, surcouches applicatives, outils d'aide à l'utilisation et chaîne de compilation, équipe d'application/benchmarking


Excellence et passion sont les maîtres mots pour définir l'état d'esprit quotidien de cette belle entreprise de la région.

Faire de chaque avenir une réussite.
  • Annuaire emplois
  • Annuaire entreprises
  • Événements