Senior Software Engineer - CUDA Driver

NVIDIASanta Clara, CA
1d

About The Position

NVIDIA is seeking outstanding senior engineers to work on the CUDA driver, a key component of accelerated GPU computing. You will join a versatile software engineering team that delivers innovative software features to unlock the full potential and performance of NVIDIA hardware across diverse workloads like deep learning, scientific research, autonomous vehicles, gaming, and virtual reality. This multi-functional role requires collaboration with hardware architects, deep learning specialists, and both internal and external partners to advance the CUDA architecture. With the opportunity to collaborate with teams across the whole NVIDIA computing stack, you will help design software solutions across kernel mode components, compilers, and networking software. Your system-level expertise and creativity in solving complex problems will help invent the future of CUDA and NVIDIA’s compute technologies! Does crafting solutions to influence the evolution of GPU-accelerated computing sound exciting? If so, we invite you to join us and help engineer the next wave of innovation at NVIDIA!

Requirements

  • Bachelor of Science or Master of Science degree in Computer Science, Electrical Engineering, or related field (or equivalent experience)
  • 5+ years of relevant experience in 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/simulation, and developing SW programming model exposures for HW features
  • Understanding of system-level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped IO
  • Strong interpersonal, verbal, and written communication skills with a capability to achieve objectives under tight time constraints

Nice To Haves

  • Prior experience with parallel computing - preferably writing CUDA programs or libraries that use CUDA
  • Knowledge of memory coherence and consistency models
  • Background with kernel mode development
  • Experience with Linux systems software development as well as experience maintaining and extending programming models or higher-level language support for similar environments
  • Familiarity with distributed system and training/inference patterns (data/model/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 the CUDA APIs and programming model
  • Build and maintain performance and precision modeling
  • Write effective, maintainable, and well-tested code
  • Develop code for multiple operating systems

Benefits

  • You will also be eligible for equity and benefits.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service