# System Software Engineer - CUDA Chips

**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/System-Software-Engineer---CUDA-Chips_JR2020020?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_81ca7ece-2a0

## Description

We are hiring 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 across deep learning, scientific computation, and self-driving cars, video games and virtual reality.

You will work closely with both hardware engineers and other software engineers to craft, develop, debug and deploy many functional aspects of NVIDIA hardware and mobile system-on-chip (SOC) devices!

### Responsibilities

You can expect to be heavily involved through all aspects of development of our world-class products, ranging up front from design feedback, early modeling, simulation of hardware in pre-silicon environments, all the way through to early silicon bringup and final feature deployment in production software ultimately delivered to end users.

In this role, you will:

- Develop software on pre-silicon environments (simulation/emulation)

- Own and drive CUDA enablement for new silicon and architecture

- Work with software, hardware and relevant teams to develop, stabilize and productize CUDA features for new chips and systems

- Promote, architect, and implement new features, as well as own contribution to bring up of CUDA on new chips

- Help define forward-looking improvements to the CUDA APIs and programming model, while driving development efforts across multiple teams

- Write effective, maintainable, and well-tested code

- Develop code for multiple operating systems

### Requirements

- BS or MS degree in Computer Engineering, Computer Science, Electrical Engineering or equivalent experience

- 2+ years of relevant systems software development experience

- Strong C programming skills, knowledge of parallel programming

- Excellent knowledge of computer system architectures

- Experience with operating system interfaces for threads, process control, and virtual memory

- Experience writing and debugging multithreaded programs

- Background with working with large codebases

- Deep understanding of technology and passionate about what you do

- Good written communication as well as strong collaborative skills and ability to effectively guide and influence across groups

### Nice to Have

- 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 Windows, Linux, or macOS driver development

- Some familiarity with C++, CUDA experience

You will also be eligible for equity and benefits.

## Skills

### Required
- C programming
- parallel programming
- computer system architectures
- operating system interfaces
- multithreaded programs
- large codebases

### Nice to have
- system level architecture
- memory coherence and consistency models
- kernel mode development
- Windows, Linux, or macOS driver development
- C++
- CUDA

---

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