Senior Software Engineer - CUDA Driver

NVIDIA•Santa Clara, CA
•$152,000 - $287,500

About The Position

NVIDIA is seeking senior engineers to work on the CUDA driver, a key component of accelerated GPU computing. The role is part of a versatile software engineering team delivering software features that unlock NVIDIA hardware performance across workloads including deep learning, scientific research, autonomous vehicles, gaming, and virtual reality. It involves collaboration with hardware architects, deep learning specialists, and internal and external partners to advance the CUDA architecture. The engineer will work with teams across NVIDIA’s computing stack to design software solutions spanning kernel-mode components, compilers, and networking software. The position focuses on evolving CUDA and NVIDIA compute technologies through system-level expertise and creative problem solving.

Requirements

  • Bachelor of Science or Master of Science degree in Computer Science, Electrical Engineering, or a related field, or equivalent experience.
  • 5+ years of relevant experience developing systems software.
  • Strong C programming skills.
  • Experience designing, debugging, and maintaining complex software stacks.
  • Experience with operating system interfaces for threads, process control, and virtual memory.
  • Experience with HW/SW co-design, performance modeling using emulation or simulation, and developing software programming model exposures for hardware features.
  • Understanding of system-level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped I/O.
  • Strong interpersonal, verbal, and written communication skills, with the capability to achieve objectives under tight time constraints.

Nice To Haves

  • Experience with kernel scheduling, task runtimes, kernel-mode development, and Linux systems software.
  • Strong background in parallel computing, preferably writing CUDA programs or CUDA-based libraries.
  • Knowledge of memory coherence and consistency models in concurrent or parallel systems.
  • Experience maintaining and extending programming models or higher-level language support for Linux or similar environments.
  • Familiarity with distributed training and inference patterns, including data, model, and pipeline parallelism, and deep learning frameworks.

Responsibilities

  • Evangelize, architect, and implement new CUDA features.
  • Coordinate and drive development efforts across multiple teams.
  • Collaborate with members of hardware architecture teams.
  • Define forward-looking improvements to CUDA APIs and the programming model.
  • Build and maintain performance and precision modeling.
  • Write effective, maintainable, and well-tested code.
  • Develop code for multiple operating systems.

Benefits

  • Equity
  • Benefits
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service