Senior Software Engineer - Rust for Linux

Opens nvidia.wd5.myworkdayjobs.com in a new tab

Overview

  • We are hiring software engineers to work on Project Nova, the new in-tree, open-source NVIDIA GPU driver for Linux written in Rust.
  • Nova is the long-term replacement for the kernel-mode portion of the current Linux GPU stack developed by NVIDIA.
  • The role covers ongoing work on Linux subsystem infrastructure built with Rust that Nova and other collaboratively developed Rust drivers depend on.
  • Nova exists within the mainline Linux kernel and is developed publicly.
  • Development occurs through discussions within the kernel mailing threads alongside Nouveau, the DRM subsystem, and the Rust for Linux community.
  • Our team builds the kernel-side abstractions that make a modern GPU driver possible in Rust, including driver core, PCI configuration, DMA address translation, device input/output and IRQ, devres, auxiliary bus, firmware loader, together with the Rust allocator shim.
  • What you'll be doing: As a member of our team, the role applies design, coding expertise, and creativity to build the kernel-side foundation of NVIDIA's in-tree open-source GPU stack.
  • You will compose both the driver itself and the broader Rust kernel ecosystem it sits on top of.
  • Architect and implement features in nova-core (the chipset-agnostic core driver) and nova-drm (the DRM front-end), targeting existing and upcoming NVIDIA GPU generations from Turing through Blackwell.
  • Help build the technical direction of Project Nova and the DRM Rust backend shared by other in-tree Rust GPU drivers, including patch review, development dialogues, and coordinating releases on the kernel mailing lists.
  • Maintain and extend Rust kernel infrastructure spanning PCI, DMA mapping, device I/O and IRQ, driver core, resource management, support bus, firmware loading components, and the Rust allocator shim.
  • Drive cross-subsystem cleanups that the kernel needs in order to grow safe Rust support, for example generalizing core driver-model infrastructure across multiple buses such as PCI, platform, and SPI.
  • Collaborate with the Rust for Linux community, DRM subsystem maintainers, and Nova reviewers on patch review, design discussions, and release management on lore.kernel.org and dri-devel.
  • What we need to see: BS or MS degree in Computer Science, Electrical Engineering or related field (or equivalent experience).
  • Strong Rust and C programming skills.
  • Some familiarity with C++ would be a plus Minimum of 10+ years of related development experience.
  • Experience working with large codebases, preferably the upstream Linux kernel.
  • Background with kernel device model, driver core, and OS interfaces for memory management, IRQ handling, and synchronization.
  • Experience writing and debugging kernel code in multi-threaded, interrupt, and DMA contexts.
  • Strong written communication, comfortable working entirely in public on open-source mailing threads such as rust-for-linux, dri-devel, nouveau, linux-pci, driver-core, and nova-gpu.
  • Ways to stand out from the crowd: Existing upstream maintainer-ship in the Linux kernel, especially in the use of Rust within the Linux environment, DRM, or driver core.
  • Track record of contributions to drivers/gpu/nova-core/, drivers/gpu/drm/nova/, or rust/kernel/.
  • Familiarity with DRM Rust infrastructure such as GPUVM, DRM GPU scheduler, GEM, and DRM device abstractions.
  • Experience with PCI device bring-up, or other GPU bring-up work on real hardware.
  • History of representing a project in public technical forums such as LPC, Kangrejos, FOSDEM, or dri-devel hackfests.

Sourced directly from NVIDIA’s career page

Your application goes straight to NVIDIA.

NVIDIA logo

NVIDIA

Germany, Munich

Specialisation
Open roles at NVIDIA
2000 positions
Job ID
/job/Germany-Munich/Senior-Software-Engineer---Rust-for-Linux_JR2018891

Get matched to roles like this

Upload your resume once. We’ll notify you when matching roles open up.

Join talent pool — free

Similar Other roles