Senior Software Engineer, Virtualization and Linux Kernel

at Nvidia
USD 224,000-431,200 per year
SENIOR
✅ On-site

Tech Stack

Communication @ 6 Debugging @ 7 GPU @ 4 Linux @ 4 Rust @ 7

Details

NVIDIA is looking for a Senior System Software Engineer to join the GPU Virtualization team and advance open-source Linux kernel support for NVIDIA GPUs. The role involves developing virtualization features in Rust and C, contributing to the upstream Linux kernel, and collaborating with open-source maintainers, partners, and globally distributed engineering teams. The engineer will help shape vGPU support in Nova, the upstream Rust driver for NVIDIA GPUs, and the surrounding Linux virtualization stack.

Responsibilities

  • Design, develop, test, document, and maintain upstream Linux kernel support for NVIDIA GPU virtualization, including vGPU enablement in Nova.
  • Work across the Linux virtualization stack, including KVM, QEMU, and VFIO, on device assignment, PCIe SR-IOV, memory management, and virtual-device lifecycle.
  • Drive technical proposals and patch series through upstream design discussions, review, and acceptance.
  • Work with subsystem maintainers, address review feedback, and review contributions from others.
  • Debug and resolve functional, performance, and reliability issues across host drivers, hypervisors, and GPU firmware interfaces.
  • Collaborate with internal software, hardware, and architecture teams, as well as the open-source community, to define features, validate integration, and maintain support as the kernel evolves.

Requirements

  • Bachelor's degree or higher in computer science, computer engineering, or a related field, or equivalent experience.
  • 12 or more years of experience in Linux kernel development or virtualization.
  • A record of relevant contributions accepted into the upstream Linux kernel, including experience preparing patch series, addressing review feedback, and working with subsystem maintainers.
  • Proficiency in Rust and C, with a strong understanding of Rust ownership, lifetimes, memory safety, and interoperability with C.
  • In-depth knowledge of Linux kernel internals, including the device-driver model, memory management, synchronization, and concurrency.
  • Strong understanding of virtualization, including host and guest interactions, memory translation, device assignment, interrupts, and resource isolation.
  • Strong debugging and analytical skills, with experience using tools such as GDB, KGDB, ftrace, or perf to investigate complex kernel and system issues.
  • Clear technical writing and communication skills, with the ability to explain design tradeoffs and work effectively with globally distributed engineering teams and open-source communities.

Preferred Qualifications

  • Knowledge of GPU architecture, GPU drivers, or GPU virtualization.
  • Experience with DRM, Nouveau, Nova, or similar graphics and compute driver stacks.
  • Contributions to Rust-for-Linux or experience developing Rust for kernel subsystems.
  • Hands-on development experience with KVM, QEMU, VFIO, IOMMU, or PCIe SR-IOV.
  • Experience as an open-source maintainer or reviewer, or experience leading patch series spanning multiple kernel subsystems.
  • Familiarity with device emulation, low-level firmware interfaces, or virtual-device migration.

Benefits

NVIDIA offers competitive salaries, equity, and a comprehensive benefits package. The base salary is determined based on location, experience, and the pay of employees in similar positions.

The base salary range is $224,000–$356,500 USD for Level 5 and $272,000–$431,250 USD for Level 6.

More jobs at Nvidia

Similar jobs