Senior Systems Software Engineer, CUDA Driver - Multi-Node and Memory Model
Job Description
NVIDIA’s invention of the GPU in 1999 sparked the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI — the next era of computing — with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. We're looking to grow our company, and form teams with the smartest people in the world. Join us at the forefront of technological advancement.
Are you a motivated system software engineer with a deep understanding of device drivers, memory coherency & consistency models, phenomenal C/C++ skills, and an interest in multi-node scalability? If so, this role might be for you. We are looking for a seasoned software professional to work on the CUDA Driver, a core component of our platform for accelerating general purpose computation on the GPU. You will be an integral part of a team that delivers features and improvements to better realize the potential of NVIDIA hardware for a growing range of computational workloads, ranging from deep learning, scientific computation, data science and self-driving cars to video games and virtual reality.
What you'll be doing:
As a member of our team, you will use your design abilities, coding expertise, and creativity to deliver the best compute platform in the world. You will craft elegant solutions to exciting problems and shape the future direction of CUDA as you collaborate with your peers across NVIDIA.
Evangelize, architect, and implement new features related to CUDA’s memory model and multi-node scalability geared towards next-gen AI applications and deployments
Coordinate and drive development efforts across multiple teams
Help define forward-looking improvements to the CUDA APIs and programming model
Write effective, maintainable, and well-tested code
Develop code for multiple operating systems
What we need to see:
BS or MS degree in Computer Science, Electrical Engineering or related field (or equivalent experience)
Strong C and C++ programming skills
Minimum of 8 years of related development experience (multiple positions for varying experience levels open)
Experience driving projects across multiple teams
Experience working with large codebases
Background with operating system interfaces for threads, process control, and virtual memory
Experience writing and debugging multithreaded programs
Good written communication as well as presentation skills
Ways to stand out from the crowd:
Prior experience with parallel computing, PyTorch, low-latency AI inference
Understanding of system level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped IO
Knowledge of memory coherence and consistency models
Background with kernel mode development
Experience with Linux, or Windows Systems Software development
You will also be eligible for equity and benefits.
This posting is for an existing vacancy.
NVIDIA uses AI tools in its recruiting processes.
NVIDIA is committed to fostering an inclusive work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.Required Skills
Frequently asked questions
Is the Senior Systems Software Engineer, CUDA Driver - Multi-Node and Memory Model position at NVIDIA remote?
Yes. The Senior Systems Software Engineer, CUDA Driver - Multi-Node and Memory Model role at NVIDIA is a remote position, open to candidates worldwide.
What type of employment is the Senior Systems Software Engineer, CUDA Driver - Multi-Node and Memory Model role?
NVIDIA is hiring for a full-time Senior Systems Software Engineer, CUDA Driver - Multi-Node and Memory Model position.
What skills are needed for the Senior Systems Software Engineer, CUDA Driver - Multi-Node and Memory Model job at NVIDIA?
Key skills for this role include PyTorch, CUDA, GPU.
How do I apply for the Senior Systems Software Engineer, CUDA Driver - Multi-Node and Memory Model position at NVIDIA?
You can apply for the Senior Systems Software Engineer, CUDA Driver - Multi-Node and Memory Model role directly through NVIDIA's official application link provided on this page.
Similar AI jobs
Software Test Developer - Robotics
NVIDIA · fulltime
Senior Solutions Architect, InfiniBand and Networking Ethernet - NVIS
NVIDIA · fulltime
Senior High-Performance Storage Architect - NVIS
NVIDIA · fulltime
Senior Software Engineer, GPU Infrastructure (HPC)
Cohere · fulltime
Engagement Manager
Legora · fulltime
Account Director, Tech
OpenAI · fulltime