Expoint - all jobs in one place

Finding the best job has never been easier

Limitless High-tech career opportunities - Expoint

Nvidia Senior System Software Engineer Performance - CUDA Driver 
United States, California 
276244986

24.06.2024

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.

What you'll be doing:

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 craft the future direction of CUDA as you collaborate with your peers across NVIDIA. You will investigate complex performance problems and deliver robust solutions that accelerate applications.

  • Evangelize, architect, and implement new features

  • Oversee and drive development efforts across multiple teams

  • Analyze full stack performance ranging from application level through libraries, system software, kernel software and hardware

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

  • Create novel system software optimizations

  • Write effective, maintainable, and well-tested code

  • Develop code for multiple operating systems

What we need to see:

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

  • 5+ years of related development experience

  • Strong C programming skills

  • Experience working with large codebases

  • Track record of debugging performance problems in complex environments with software and hardware components

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

  • Experience writing and debugging multithreaded programs

  • Deep understanding of technology and passionate about what you do

  • Strong collaborative and interpersonal skills, specifically a proven ability to effectively guide and influence within a dynamic matrix environment. 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

  • Experience with performance tuning of device drivers or low level system software

  • Experience with performance optimizations across a variety of CPU architectures - like x86, POWER and ARM

  • Knowledge of memory coherence and consistency models

  • Experience with Windows, Linux, or macOS driver development

You will also be eligible for equity and .