# Senior Software Engineer CUDA UMD - GPU Kernel Scheduling

**Company**: NVIDIA
**Location**: Santa Clara, CA
**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---GPU-Kernel-Scheduling_JR2024920?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_ce556089-2c3

## Description

NVIDIA is seeking a Senior Software Engineer to work on the CUDA Driver, a core component of their platform for accelerating general-purpose computation on GPUs. As a member of this team, you will use your design abilities, coding expertise, and creativity to deliver the best compute platform in the world.

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

- Explore ways to use Graphs to improve the scheduling of AI/ML workloads on GPUs to be more efficient and faster

- 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 4 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

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

- Experience writing and debugging multithreaded programs

- Good written communication and presentation skills

Preferred qualifications:

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

- Knowledge of memory coherence and consistency models

- Background with kernel mode development

- Experience with Linux Systems Software development

- Experience maintaining and extending programming models or higher-level language support for similar environments

## Skills

### Required
- C
- C++
- parallel computing
- operating system interfaces
- multithreaded programming

### Nice to have
- CUDA
- kernel mode development
- Linux Systems Software development
- memory coherence and consistency models

---

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---GPU-Kernel-Scheduling_JR2024920?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
