Senior Software Engineer, CUDA UMD - Graphs and GPU Sharing
Core
Design, architect, and implement features for the CUDA Driver to accelerate general-purpose computation on GPUs for workloads including deep learning, scientific computation, data science, self-driving cars, and video games.
Role type
Senior IC system software engineer (CUDA Driver)
Builds
CUDA platform features and improvements (CUDA Graphs, MPS)
Domain
GPU computing / System software
Deliverable
production ML models | product features
Required skills
C/C++ programming, device driver development, multithreaded programming, OS interfaces (threads, process control, virtual memory), large codebase navigation, cross-team project coordination
Preferred skills
Parallel computing (CUDA programs/libraries), system-level architecture (interconnects, memory hierarchy, interrupts, memory-mapped IO), memory coherence/consistency models, kernel mode development, Linux systems software development
Technologies
CUDA, CUDA Graphs, MPS (Multi-Process Service), Linux
Responsibilities
Evangelize, architect, and implement new features; Coordinate and drive development efforts across multiple teams; Define forward-looking improvements to CUDA APIs and programming model; Extend CUDA programming models and functionality; Write effective, maintainable, and well-tested code; Develop code for multiple operating systems
Seniority
Senior, hands-on IC