About The Position

NVIDIA is seeking a Senior System Software Engineer to join its 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 working with open-source maintainers and partners to shape vGPU support in Nova, the upstream Rust driver for NVIDIA GPUs, and the surrounding Linux virtualization stack. The engineer will work across globally distributed teams and collaborate with internal software, hardware, and architecture groups as well as the open-source community. The position focuses on developing and maintaining GPU virtualization support, progressing technical proposals through upstream review, and resolving issues across host drivers, hypervisors, and GPU firmware interfaces. The work supports GPU computing in cloud and enterprise environments and offers opportunities to shape technical direction and deepen expertise.

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.
  • Record of relevant contributions accepted into the upstream Linux kernel, including 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, including the ability to explain design tradeoffs and work effectively with globally distributed engineering teams and open-source communities.

Nice To Haves

  • 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 in 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 leading patch series that span multiple kernel subsystems.
  • Familiarity with device emulation, low-level firmware interfaces, or virtual-device migration.

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 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 and the open-source community to define features, validate integration, and maintain support as the kernel evolves.

Benefits

  • Equity
  • Comprehensive benefits package
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service