# Senior Software Engineer, CUDA UMD - Graphs and GPU Sharing

**Company**: NVIDIA
**Location**: Santa Clara
**Work arrangement**: onsite
**Experience**: senior
**Job type**: full-time
**Category**: Engineering
**Industry**: Technology

**Apply**: https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer--CUDA-UMD---Graphs-and-GPU-Sharing_JR2014056?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_a5ad7f74-5fa

## Description

We are looking for a motivated system software engineer with a deep understanding of device drivers who has phenomenal C/C++ skills. 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.

**Responsibilities:**

- Evangelize, architect, and implement new features

- Coordinate and drive development efforts across multiple teams

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

- Extend important CUDA programming models and functionality such as CUDA Graphs and MPS (Multi-Process Service)

- Write effective, maintainable, and well-tested code

- Develop code for multiple operating systems

**Requirements:**

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

- Strong C and C++ programming skills

- Minimum of 8-10 years of related development experience

- 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

**Nice to Have:**

- Prior experience with parallel computing - preferably writing CUDA Programs or Libraries that use CUDA

- 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 Systems Software development

## Skills

### Required
- C++
- imulator
- CUDA
- Linux
- Operating System Interfaces
- Threads
- Process Control
- Virtual Memory
- Multithreaded Programming

### Nice to have
- Parallel Computing
- System Level Architecture
- Memory Coherence and Consistency Models
- Kernel Mode Development

---

Source: [Apply at nvidia.wd5.myworkdayjobs.com](https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer--CUDA-UMD---Graphs-and-GPU-Sharing_JR2014056?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
