Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
AI
API
CUDA
Communication @ 6
Debugging @ 4
Deep Learning
GPU
Linux @ 4
macOS @ 4
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
NVIDIA is hiring software engineers to work on the CUDA driver, a core component of its platform for accelerating general-purpose computation on GPUs. The team delivers features and improvements for computational workloads including deep learning, scientific computation, self-driving cars, video games, and virtual reality.
CUDA defines a unified programming model across system configurations and hardware capabilities. The CUDA driver interacts with GPU hardware, kernel-mode drivers, and the operating system. The Unified Memory kernel driver provides kernel memory management that enables these advanced features.
Responsibilities
- Architect and implement new features for new chips and kernel features.
- Coordinate with other teams to accomplish daily work.
- Help define forward-looking improvements to CUDA APIs and the programming model.
- Write effective, maintainable, and well-tested kernel-mode and user-space code.
- Develop code for multiple Linux operating systems.
- Apply design, coding, and creative problem-solving expertise while collaborating with peers across NVIDIA.
Requirements
- Bachelor's or master's degree in Computer Science, Electrical Engineering, or a related field, or equivalent experience.
- Strong C programming skills.
- At least 10 years of related development experience.
- Experience working with large codebases.
- Background with operating system interfaces for threads, process control, and virtual memory.
- Experience writing and debugging multithreaded programs.
- Good written communication skills.
Additional Qualifications
- Understanding of system-level architecture, including interconnects, memory hierarchy, interrupts, and memory-mapped I/O.
- Knowledge of memory coherence and consistency models.
- Experience with kernel-mode development.
- Experience with Windows, Linux, or macOS driver development.
- Some familiarity with C++.
Compensation and Benefits
The base salary range is USD 184,000–287,500 for Level 4 and USD 224,000–356,500 for Level 5. Salary is determined based on location, experience, and the pay of employees in similar positions. The role is also eligible for equity and benefits.
Applications will be accepted at least until July 1, 2026. This posting is for an existing vacancy. NVIDIA uses AI tools in its recruiting processes and is an equal opportunity employer.