About the job
We are looking for a software engineering manager with strong leadership and mentoring skills to join the CUDA Driver team! We design the CUDA programming model, expose that programming model through the CUDA Driver & CUDA Runtime APIs, and implement the associated functionality in the CUDA Driver & CUDA Runtime. The CUDA Driver and its programming model serve as the foundation for NVIDIA’s CUDA-X software stack and compute platform. The team primarily works on aspects of the CUDA Driver related to its memory model – how to allocate, move, and access memory in a performant and efficient manner across NVIDIA’s range of hardware offerings, including both single-node and multi-node environments.
Responsibilities
Lead a team of system software engineers to design and build CUDA for current and future hardware architectures.
Engage multi-functionally with teams across NVIDIA to define and drive CUDA’s roadmap.
Contribute to CUDA feature design and drive adoption of new CUDA functionality.
Establish team objectives, prioritize incoming work, mentor team members, and manage team performance.
Monitor team execution, identify opportunities for process improvement, and take the lead on implementing any identified improvements.
Qualifications
Minimum
8+ overall years of experience in the software industry with 3+ years of management experience
Bachelors, Masters, or Ph.D. or equivalent experience in Computer Science, Computer Engineering, or a related field.
Strong system software fundamentals, hands-on C programming and debugging skills.
Ability to manage a team’s execution towards project deliverables, particularly in environments with competing priorities.
Preferred
In depth understanding of computer architecture and memory subsystems.
Experience implementing or directly using GPU programming APIs, such as CUDA, OpenCL, OpenGL, or Vulkan.
Background with distributed systems or high-performance clusters.
Experience with Deep Learning frameworks such as PyTorch, TensorFlow, or vLLM.