> Markdown version of [/jobs/ext/1961885-pcie-driver-engineer](https://www.wearedevelopers.com/jobs/ext/1961885-pcie-driver-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # PCIe Driver Engineer - **Company:** Kalray - **Location:** Montbonnot-Saint-Martin, France (Remote available) - **Experience:** Expert - **Contract:** Permanent contract - **Skills:** Application Programming Interfaces (APIs), Artificial Intelligence, Automation of Tests, UClibc (C Standard Library), Software Quality, Continuous Integration, Linux, Firmware, Joint Test Action (IEEE Standards), Linux Kernel, Open Source Technology, PCI Express, Remote Direct Memory Access, System Software, Large Language Models, Generative AI, Perf (Linux), Yocto, Information Technology - **Published:** August 7, 2026 - **Apply:** https://nostalentsnosemplois.auvergnerhonealpes.fr/candidat/offres/offre-d-emploi-ingenieur-de-developpement-logiciel-h-f-montbonnot-saint-martin-auvergne-rhone-alpes-industrie-production-autres-cdi-16225749 ## About the Role 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., 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. ## Description 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., 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)., 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 manager Second entretien technique 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… ## Related Videos - [Unleashing the Full Potential of the Arm Architecture – Write Once, Deploy Anywhere](https://www.wearedevelopers.com/videos/940-unleashing-the-full-potential-of-the-arm-architecture-write-once-deploy-anywhere) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [Playing Pong on a shoulder press machine](https://www.wearedevelopers.com/videos/100140-playing-pong-on-a-shoulder-press-machine) - [The best of two worlds - Bringing enterprise-grade Linux to the vehicle](https://www.wearedevelopers.com/videos/67-the-best-of-two-worlds-bringing-enterprise-grade-linux-to-the-vehicle) - [A Hitchhikers Guide to Container Security - Automotive Edition 2024](https://www.wearedevelopers.com/videos/1119-a-hitchhikers-guide-to-container-security-automotive-edition-2024) - [Building a hypercar from scratch](https://www.wearedevelopers.com/videos/607-building-a-hypercar-from-scratch) ## Related Articles - [Résumé-Driven Development: How IT trends affect the job market for software developers](https://www.wearedevelopers.com/magazine/59-resume-driven-development-how-it-trends-affect-the-job-market-for-software-developers) - [Top Characteristics of a Software Engineer](https://www.wearedevelopers.com/magazine/166-top-characteristics-of-a-software-engineer) - [How software is steering vehicle technology](https://www.wearedevelopers.com/magazine/515-how-software-is-steering-vehicle-technology) - [What’s the Difference between a Junior, Mid, and Senior Developer?](https://www.wearedevelopers.com/magazine/238-what-s-the-difference-between-a-junior-mid-and-senior-developer) - [Why Upskilling And Reskilling is Important For Developers](https://www.wearedevelopers.com/magazine/428-why-upskilling-and-reskilling-is-important-for-developers) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard)