System Software Engineer - CUDA Chips

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

Used Tools & Technologies

Not specified

Required Skills & Competences

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

Details

We are hiring engineers to work on the CUDA driver, a core component of our platform for accelerating general purpose computation on the GPU. Our team delivers features and improvements to better realize the potential of NVIDIA hardware for a growing range of computational workloads, ranging from across deep learning, scientific computation, and self-driving cars, video games and virtual reality.

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

Responsibilities

  • Be heavily involved through all aspects of development: design feedback, early modeling, simulation of hardware in pre-silicon environments, early silicon bringup, and final feature deployment in production software.
  • Develop software in pre-silicon environments (simulation/emulation).
  • Own and drive CUDA enablement for new silicon and architecture.
  • 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 bring up of CUDA on new chips.
  • Help define forward-looking improvements to the CUDA APIs and programming model, while driving development efforts across multiple teams.
  • Write effective, maintainable, and well-tested code.
  • Develop code for multiple operating systems.

Requirements

  • BS or MS degree in Computer Engineering, Computer Science, Electrical Engineering or equivalent experience.
  • 2+ years of relevant systems software development experience.
  • Strong C programming skills and knowledge of parallel programming.
  • Excellent knowledge of computer system architectures and hardware architecture.
  • Experience with operating system interfaces for threads, process control, and virtual memory.
  • Experience writing and debugging multithreaded programs.
  • Background with working with large codebases.
  • Deep understanding of the technology and passion for the domain.
  • Good written communication and strong collaborative skills; ability to effectively guide and influence across groups.

Ways to stand out

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

Compensation & Benefits

  • Base salary range: 124,000 USD - 195,500 USD (base salary will be determined based on location, experience, and pay of employees in similar positions).
  • You will also be eligible for equity and benefits: https://www.nvidia.com/en-us/benefits/.

Additional information

  • Applications for this job will be accepted at least until June 26, 2026.
  • This posting is for an existing vacancy.
  • NVIDIA uses AI tools in its recruiting processes.
  • NVIDIA is an equal opportunity employer and is committed to fostering an inclusive work environment.