Senior Software Engineer - CUDA and Unified Memory

NVIDIA Ltd.
Santa Clara, CA, United States
4 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
10 years minimum
Compensation
$184,000.0 - $287,500.0
Working hours
Regular working hours
Job source

Tech stack

C (Programming Language) Microsoft Windows Application Programming Interfaces (APIs) Apple Mac Systems Computing Platforms C++ (Programming Language) Nvidia CUDA System Configuration Software Debugging Linux Memory Management Video Game Development
+6 more
Scientific Computating Virtual Memory Multithreading Virtual Reality Deep Learning Information Technology

Job description

We are hiring software engineers to work on the CUDA driver, a core component of our platform for accelerating general purpose computation on the GPU. Our team 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, and self-driving cars to video games and virtual reality!

CUDA defines a unified programming model across a range of system configurations and hardware capabilities. To accomplish this, the CUDA driver interacts with GPU hardware, kernel mode drivers, and the operating system. Unified Memory kernel driver provides kernel memory management that enables these advanced features.

What you’ll be doing:

As a member of our team, you will apply your design, coding expertise , and creativity, and to collaborate with peers across NVIDIA to deliver upon the best compute platform in the world. You will craft sophisticated solutions to exciting problems shaping the future direction of CUDA!

  • Architect, and implement new features for new chips and new kernel features

  • Coordinate with other teams to accomplish your work daily

  • Help define forward-looking improvements to the CUDA APIs and programming model

Requirements

  • BS or MS degree in Computer Science, Electrical Engineering or related field (or equivalent experience)

  • Strong C programming skills

  • Minimum of 10+ years of related development experience

  • 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

Ways to stand out from the crowd:

  • Understanding of system level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped IO

  • Knowledge of memory coherence and consistency models

  • Experience with kernel mode development

  • Experience with Windows, Linux, or macOS driver development

  • Some familiarity w C++

Benefits & conditions

Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 184,000 USD - 287,500 USD for Level 4, and 224,000 USD - 356,500 USD for Level 5.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.juju.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:27 min

Exploring the CUDA ecosystem and levels of abstraction

Paul Graham Paul Graham · WWC 2025

1:25 min

Distinguishing artificial intelligence from deep learning

Sam Witteveen · Coffee With Developers

6:21 min

Previewing upcoming hardware acceleration capabilities for Python environments

Chris Heilmann +2 · LIVE

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · WWC 2025

1:37 min

Accelerating compute with focused developer tools

Julia Koch Julia Koch +1 · WWC Europe 2026

2:33 min

Architecting CUDA and the AI software stack

Michael Kagan Michael Kagan +1 · WWC Europe 2026

Videos

See all

Related articles

See all