{bc}
workday

Senior Software Engineer - CUDA Driver

NVIDIA
California, USA
Full-time
Senior · 5+ years experience
Discovered 4 weeks ago
linux

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.

Apply 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.

Sarah M.James T.Maya R.

Trusted by over 500,000 job seekers on Base Career

Start Free Today

More from this employer

More jobs at NVIDIA