Pcie Driver Engineer H/F - L'Industrie recrute
- CDI
- Télétravail accepté
- L'Industrie recrute
Les missions du poste
Essaimage du CEA fondé en 2008, Kalray est un acteur européen de référence dans le domaine des semi-conducteurs, soutenu par des investisseurs industriels de premier plan tels que Safran, NXP Semiconductors et Bpifrance. Avec plus de 30 familles de brevets et plus de 100 millions d'euros investis en R&D, notre technologie ouvre la voie à une nouvelle ère dans le traitement des données.Grâce à leur architecture « manycore » brevetée, les processeurs intelligents MPPA® de Kalray (dits DPU ou xPU) sont capables de gérer en parallèle - et sans goulets d'étranglement - de multiples flux de données, permettant ainsi aux applications qui exploitent des quantités massives de données d'être plus intelligentes, plus efficaces et économes en énergie, en complément des approches traditionnelles (CPU et GPU).L'offre de Kalray comprend des solutions d'accélération matérielle et logicielle, ainsi qu'une offre de co-développement - ou de design à la demande - de processeurs et de solutions d'accélération optimisées pour des usages spécifiques dans des secteurs à forte croissance tels que les data centers, les gigafactories d'IA, les réseaux 5G, l'industrie 4.0, le spatial et la défense, et bien d'autres.Kalray est avant tout une équipe de personnes passionnées, enthousiastes et volontaires, qui placent l'excellence et la collaboration au coeur de leur travail. Que vous soyez un(e) expert(e) dans votre domaine ou un(e) jeune diplômé(e), nous mettrons tout en oeuvre pour vous aider à exprimer pleinement votre talent, développer votre potentiel et contribuer au succès de l'entreprise.Situés près de Grenoble, dans les Alpes françaises, à Sophia Antipolis, près de Nice, ainsi qu'en Roumanie, nous recherchons des talents pour soutenir notre croissance. Rejoignez notre équipe de 130 personnes et contribuez à façonner le monde de demain !Pour en savoir plus sur Kalray, visitez notre site web et suivez-nous sur LinkedIn. Dans le cadre de notre croissance, nous recrutons un(e) PCIe Driver EngineerVos missions : En tant que PCIe Driver Engineer, vous serez responsable du développement de la couche de pilotes Linux, aussi bien au niveau du noyau qu'en espace utilisateur, assurant la communication entre l'hôte et notre accélérateur IA RISC-V propriétaire via PCIe. Cette couche logicielle est un élément clé de notre plateforme et conditionne les performances ainsi que la fiabilité de l'ensemble des composants logiciels de plus haut niveau.Vous rejoindrez notre équipe AI & Compute, qui développe une plateforme complète d'inférence IA générative, couvrant toute la chaîne logicielle, du service d'inférence jusqu'au silicium :LLM Serving AI Compilation Runtime / Offload Bibliothèques de kernels IA optimisésÀ l'interface entre le matériel et le logiciel, vous collaborerez étroitement avec les équipes Hardware, Firmware et Runtime afin de concevoir une pile de communication PCIe robuste et performante, permettant le déport efficace des charges de calcul IA vers l'accélérateur.À ce titre, vous serez amené(e) à :- Développer la couche de contrôle au niveau du noyau Linux, incluant l'énumération PCIe, le mapping des BAR, la gestion des interruptions MSI/MSI-X, la configuration de l'IOMMU ainsi que l'accès sécurisé au périphérique depuis l'espace utilisateur via VFIO/UIO ou des pilotes de caractères dédiés.- Développer la voie de données (data path) en espace utilisateur pour le déport des traitements, en utilisant des doorbells mappés en mémoire (mmap), des files de descripteurs DMA, une gestion zero-copy des buffers ainsi que des mécanismes de soumission et de complétion en mode polling ou kernel bypass afin de minimiser la latence.- Concevoir et maintenir une API utilisateur (uAPI) et un SDK stables permettant aux couches Runtime et Offload de soumettre des traitements, mapper des buffers et récupérer efficacement les résultats.- Participer à la mise en service (bring-up) et à la validation de nouvelles cartes électroniques et de nouveaux composants silicium, en collaboration avec les équipes Hardware et Firmware.- Analyser et optimiser les performances de bout en bout de la chaîne de communication : débit DMA, stratégies interruptions/polling, gestion NUMA, utilisation des hugepages, placement mémoire et cohérence des caches.- Diagnostiquer des problématiques complexes à l'interface matériel/logiciel, telles que les conditions de course (race conditions), blocages, erreurs DMA ou défauts de cohérence mémoire.- Développer des mécanismes robustes de gestion des erreurs, de tests automatisés et de validation continue (CI) afin de garantir un niveau de qualité compatible avec un usage en production.- Produire une documentation technique claire et contribuer à l'amélioration continue de la pile logicielle.Compétences techniques- Excellente maîtrise du C/C++ et du développement système sous Linux, aussi bien dans le noyau qu'en espace utilisateur.- Solide compréhension du bus PCIe, incluant l'énumération, les BAR, l'espace de configuration, les interruptions MSI/MSI-X ainsi que les moteurs DMA (anneaux de descripteurs, scatter-gather, cohérence mémoire).- Expérience des technologies d'E/S en espace utilisateur et des mécanismes de kernel bypass, notamment VFIO/UIO, la mémoire mappée (mmap), l'IOMMU, les hugepages et la gestion zero-copy des buffers.- Expérience de l'optimisation de chemins de données à haute performance : stratégies polling ou interruptions, optimisation de la latence et du débit, gestion mémoire NUMA et utilisation d'outils de profiling tels que perf ou ftrace.- Expérience de la mise en service de cartes électroniques et du débogage bas niveau à l'aide d'outils tels que lspci, dmesg, gdb, analyseurs logiques/protocolaires ou JTAG. Atouts appréciés- Expérience des plateformes RISC-V, de la cross-compilation ou des environnements Linux embarqués (Yocto, Buildroot).- Connaissance de DPDK, SPDK, RDMA ou d'autres frameworks de pilotes en mode polling.- Familiarité avec les piles logicielles dédiées aux accélérateurs IA ou les technologies de communication hôte-accélérateur telles que remoteproc, rpmsg ou virtio.- Contributions au noyau Linux, à des pilotes open source ou à des SDK.- Expérience des environnements CI/CD et des plateformes de test Hardware-in-the-Loop (HIL). Profil - Diplôme d'ingénieur ou Master 2 (Bac +5) en informatique, systèmes embarqués ou domaine équivalent, ou expérience professionnelle équivalente.- Au moins 5 ans d'expérience dans le développement de pilotes Linux, de logiciels système bas niveau ou d'interfaces matérielles basées sur PCIe.- Esprit méthodique et excellente capacité à analyser et résoudre des problèmes complexes à l'interface matériel/logiciel.- Solide intuition des performances permettant d'identifier les goulets d'étranglement liés à la latence, au débit ou à la mémoire.- Vision globale des systèmes, avec la capacité de raisonner depuis le silicium jusqu'au runtime en espace utilisateur, en passant par le noyau Linux.- Forte exigence en matière de qualité logicielle, de fiabilité, de tests et de documentation.- Esprit d'équipe, sens des responsabilités et capacité à piloter un composant logiciel critique, de sa mise en service jusqu'à son industrialisation.- À l'aise dans un environnement international, innovant et en forte évolution.Vous n'avez peut-être pas toutes les compétences requises mais n'hésitez pas à postuler malgré tout et à nous expliquer pourquoi vous pensez être la personne idéale pour ce poste. Informations sur le contrat : 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é 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 votre futur managerSecond entretien technique avec l'équipeEntretien 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.
Compétences requises
- GNU Project Debugger (GDB)
- Bus PCI express
- Langage C
- API
- Rigueur et méthode
- SSI
- Linux