NVIDIA Company Logo

NVIDIA

Santa Clara, California - United States
View all jobs at this company »

Senior System Software Engineer – CUDA Driver

Description

NVIDIA’s invention of the GPU in 1999 sparked the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI — the next era of computing — with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. Today, we are increasingly known as “the AI computing company.” We're looking to grow our company, and form teams with the smartest people in the world. Join us at the forefront of technological advancement.

What we're looking for:

  • 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.

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 shape the future direction of CUDA as you collaborate with your peers across NVIDIA.
  • 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
  • Write effective, maintainable, and well-tested code
  • Develop code for multiple operating systems

What we need to see:

  • BS degree in Computer Science, Electrical Engineering? or related field
  • Strong C programming skills
  • Minimum of 5 years of related development experience
  • Experience working with large codebases
  • Experience with operating system interfaces for threads, process control, and virtual memory
  • Experience writing and debugging multithreaded programs
  • Good written communication
  • 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

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 with C++

NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most brilliant and talented people in the world working for us. If you passionate about what you do, creative and autonomous, we want to hear from you!

This Job is no longer active!