Description
We are looking for a Senior System Software Engineer to join the GPU Virtualization team and advance open-source Linux kernel support for NVIDIA GPUs.
In this role, you will develop virtualization features in Rust and C, contribute to the upstream Linux kernel, and work directly with open-source maintainers and partners. You 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 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, architecture and the open-source community to define features, validate integration and maintain support as the kernel evolves.
Requirements
- BS degree or higher in computer science, computer engineering or a related field, or equivalent experience.
- 12+ years of experience in Linux kernel development or virtualization.
- 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.
Benefits
- Widely considered to be one of the technology world’s most desirable employers, NVIDIA offers highly competitive salaries and a comprehensive benefits package. As you plan your future, see what we can offer to you and your family [www.nvidiabenefits.com](http://www.nvidiabenefits.com/).
- Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 224,000 USD - 356,500 USD for Level 5, and 272,000 USD - 431,250 USD for Level 6.
- You will also be eligible for equity and benefits.
This listing is enriched and indexed by YubHub. To apply, use the employer's original posting:
https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer--Virtualization-and-Linux-Kernel_JR2028528