Senior Software Engineer - CUDA Driver
Key Skills for This Role
Full Job Posting
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!
What you'll be doing:
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
What we need to see:
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
Ways to stand out from the crowd:
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/parallel systems.
Experience
maintaining and extending programming models or higher-level language support for Linux or similar environments.
Familiarity with distributed training/inference patterns (data/model/pipeline parallelism) and deep learning frameworks.
You will also be eligible for equity and benefits.
This posting is for an existing vacancy.
NVIDIA uses AI tools in its recruiting processes.
About NVIDIA
Computing platform company for AI and accelerated graphics.
Visit company websiteJobs and hiring trendsApply for this job in 1 click
Skip the repetitive application forms
Install the Base Career Chrome Extension and autofill job applications across major job boards with your profile.
Trusted by over 500,000 job seekers on Base Career
More from this employer
More jobs at NVIDIA
Senior System Software Engineer, Platform and Performance - GeForce Now
, USA
Solutions Architect - Enterprise
, AUS
Solutions Architect, NCP Infrastructure
, AUS
Senior System and Reporting Analyst
, USA
ASIC Methodology, Flow and Integration Engineer
, IND
Software Verification Engineer - Networking
, USA
Director, Technical Marketing
, USA
Solutions Architect - NCP DevOps
, AUS
Senior System Software Engineer, Platform and Performance - GeForce Now
, USA