Ingénieur(e) Optimisation de Kernels IA
Role details
Job location
Tech stack
Job description
En tant qu'Ingénieur(e) Optimisation de Kernels IA, vous jouerez un rôle clé dans l'optimisation de kernels de calcul haute performance afin de repousser les limites de l'inférence IA sur des architectures RISC-V.
Vous concevrez, développerez et optimiserez des kernels de calcul IA (IA générative, grands modèles de langage - LLM, vision par ordinateur, réseaux de neurones convolutifs - CNN, etc.) ainsi que les composants d'exécution (runtime) pour exploiter pleinement les capacités de l'architecture matérielle, depuis les unités vectorielles et matricielles ainsi que la hiérarchie mémoire, jusqu'aux optimisations au niveau assembleur.
Vos travaux auront un impact direct sur les performances d'exécution des modèles d'IA sur les SoC et contribueront au développement de la prochaine génération d'accélérateurs d'inférence. Vous collaborerez étroitement avec les architectes matériels, les ingénieurs compilateurs et les développeurs de frameworks IA afin d'optimiser la co-conception matériel/logiciel.
À ce titre, vous serez amené(e) à :
-
Développer, optimiser, profiler et déboguer des kernels de calcul intensifs pour l'IA (GEMM, mécanismes d'attention, fonctions d'activation, etc.) ciblant des architectures RISC-V.
-
Identifier et résoudre les goulets d'étranglement en matière de performances au niveau du jeu d'instructions (ISA), du compilateur et de l'environnement d'exécution (runtime).
-
Collaborer avec les équipes Hardware et Architecture afin d'influencer les choix de conception et d'améliorer les performances des applications IA en conditions réelles.
-
Contribuer au développement et à l'optimisation des runtimes IA et des moteurs d'exécution de graphes de calcul.
-
Évaluer, benchmarker et optimiser les charges de travail d'inférence IA sur différentes plateformes.
-
Développer des outils d'analyse des performances ainsi que des scripts d'automatisation dédiés au profiling, à la validation et à l'optimisation des performances.
-
Travailler avec des frameworks IA tels que vLLM, SGLang, PyTorch ou TensorRT-LLM afin d'optimiser leur exécution sur les architectures ciblées.
-
Assurer une veille technologique sur les techniques d'optimisation de kernels IA, les nouvelles architectures d'accélération matérielle et les projets open source du domaine.
-
Partager vos connaissances techniques et contribuer à l'amélioration continue des pratiques de l'équipe., Team building et autre activités telles que laser game, escape game, voile, ski, karting, karaoké et bien plus encore ! Processus de recrutement : Premier entretien avec le manager Deuxième entretien avec l'équipe Entretien final avec la DRH ou le CEO KALRAY s'engage à promouvoir un environnement de travail fondé sur la diversité et l'inclusion. Nous accueillons les candidatures de personnes issues de tous horizons, identités et expériences. Nous ne pratiquons aucune discrimination (y compris dans nos processus de recrutement et de promotion) fondée sur la religion, la couleur de peau, l'origine, le genre, l'orientation sexuelle, l'âge, le statut marital, le handicap ou toute autre caractéristique protégée par la loi.
Si vous avez besoin d'un aménagement ou d'une adaptation particulière durant le processus d'entretien et au-delà n'hésitez pas à nous en informer. Nous nous engageons à garantir à toutes et à tous les mêmes chances de mettre en valeur leurs compétences et de réussir au sein de notre organisation.
Requirements
Solide expérience de l'optimisation des performances bas niveau : vectorisation, optimisation des accès mémoire, déroulage de boucles (loop unrolling), ordonnancement des instructions, découpage des données (tiling), etc.
-
Excellente maîtrise du C/C++ et bonne connaissance des optimisations au niveau assembleur (SIMD, intrinsics, options de compilation...).
-
Bonne compréhension des architectures CPU, GPU et accélérateurs IA (pipelines, caches, hiérarchies mémoire, unités de calcul).
-
Expérience des outils de profiling et d'analyse des performances (perf, VTune, nvprof ou équivalents).
-
Bonne maîtrise de la programmation parallèle (SIMD, multithreading, OpenMP, CUDA ou technologies similaires).
-
Solides pratiques de développement logiciel (gestion de versions, CI/CD, tests).
-
Une expérience des architectures RISC-V ou d'autres jeux d'instructions personnalisés constitue un atout.
Atouts appréciés
-
Expérience des bibliothèques ou charges de travail d'inférence IA (BLAS, cuDNN, oneDNN, TVM ou équivalents).
-
Connaissance de MLIR, LLVM ou d'autres infrastructures de compilation.
-
Contributions à des projets open source liés aux moteurs d'inférence IA ou aux bibliothèques de kernels.
-
Compréhension des architectures NUMA ou des environnements de calcul hétérogène.
-
Expérience des techniques de quantification et d'inférence en précision mixte, Diplôme d'ingénieur, Master 2 ou doctorat en informatique, architecture des systèmes ou domaine équivalent.
-
Au moins 3 ans d'expérience dans l'optimisation des performances pour l'inférence IA ou le calcul haute performance (HPC).
-
Excellentes capacités d'analyse et de résolution de problèmes.
-
Esprit d'équipe, leadership technique et goût du travail en environnement pluridisciplinaire.
-
À l'aise dans un environnement international, innovant et en forte évolution.
Benefits & conditions
Type de contrat : permanent, temps plein Début de contrat : dès que possible Lieu : Montbonnot (38) Nos avantages : Salaire compétitif & attribution d'actions gratuites Jours de congés supplémentaires (RTT) Télétravail Titres-restaurant (Edenred) Mutuelle familiale (Malakoff Humanis) Forfait mobilité durable Avantages congé paternité