System Software Engineer - CUDA Chips

at Nvidia
USD 124,000-195,500 per year
MIDDLE
✅ On-site

Tech Stack

AI API CUDA @ 2 Communication @ 6 Debugging @ 3 Deep Learning GPU Linux @ 3 Parallel Programming @ 6 Software Development @ 3 macOS @ 3

Details

We are hiring engineers to work on the CUDA driver, a core component of NVIDIA's platform for accelerating general-purpose computation on the GPU. The team delivers features and improvements to better realize the potential of NVIDIA hardware for workloads including deep learning, scientific computation, self-driving cars, video games, and virtual reality.

CUDA helps define a unified programming model across system configurations and hardware capabilities through interaction between the CUDA driver, GPU hardware, kernel-mode drivers, and the operating system. This role requires strong system software programming skills, a detailed understanding of operating systems and kernel programming, knowledge of hardware architecture, and excellent communication and planning skills. You will work closely with hardware and software engineers to craft, develop, debug, and deploy functional aspects of NVIDIA hardware and mobile system-on-chip devices.

Responsibilities

  • Develop software in pre-silicon environments, including simulation and emulation.
  • Own and drive CUDA enablement for new silicon and architectures.
  • Work with software, hardware, and relevant teams to develop, stabilize, and productize CUDA features for new chips and systems.
  • Promote, architect, and implement new features, and contribute to bringing up CUDA on new chips.
  • Help define forward-looking improvements to CUDA APIs and the programming model while driving development efforts across multiple teams.
  • Write effective, maintainable, and well-tested code.
  • Develop code for multiple operating systems.
  • Participate in all aspects of product development, from design feedback, early hardware modeling, and pre-silicon simulation through early silicon bring-up and final feature deployment in production software.

Requirements

  • Bachelor's or master's degree in Computer Engineering, Computer Science, Electrical Engineering, or equivalent experience.
  • At least 2 years of relevant systems software development experience.
  • Strong C programming skills and knowledge of parallel programming.
  • Excellent knowledge of computer system architectures.
  • Experience with operating system interfaces for threads, process control, and virtual memory.
  • Experience writing and debugging multithreaded programs.
  • Background working with large codebases.
  • Strong technical aptitude and passion for the field.
  • Good written communication, strong collaboration skills, and the ability to guide and influence across groups.

Preferred Qualifications

  • Understanding of system-level architecture, including interconnects, memory hierarchy, interrupts, and memory-mapped I/O.
  • Knowledge of memory coherence and consistency models.
  • Background in kernel-mode development.
  • Experience with Windows, Linux, or macOS driver development.
  • Familiarity with C++ and CUDA experience.

Compensation and Benefits

The base salary is determined by location, experience, and the pay of employees in similar positions. The base salary range is USD 124,000–195,500 per year. The role is also eligible for equity and benefits.

Applications will be accepted at least until September 24, 2026. This posting is for an existing vacancy. NVIDIA uses AI tools in its recruiting processes. NVIDIA is an equal opportunity employer committed to an inclusive work environment.

More jobs at Nvidia

Similar jobs