Senior System Software Engineer, CUDA Driver for Windows

at Nvidia

📍 Santa Clara, United States

$180,000-339,200 per year

SENIOR
✅ On-site

SCRAPED

Used Tools & Technologies

Not specified

Required Skills & Competences ?

Hiring @ 4 Communication @ 4 Debugging @ 4 API @ 4

Details

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. We're looking to grow our company and form teams with the most inquisitive people in the world. Join us at the forefront of technological advancement. We are hiring software engineers to work on the CUDA driver for Windows. CUDA is NVIDIA’s 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.

Responsibilities

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.

  • You will architect and implement new features
  • Coordinate development efforts across multiple teams
  • Help define forward-looking improvements to the CUDA APIs and programming model
  • Write effective, maintainable, and well-tested code
  • Focus on developing code that targets the Microsoft Windows operating system

Requirements

  • BS or MS degree in Computer Science, Electrical Engineering or related field (or equivalent experience)
  • 8+ years of relevant industry experience or equivalent academic experience after BS
  • Strong C and C++ programming skills
  • Experience working with large codebases
  • Experience with operating system interfaces for threads, process control, and virtual memory
  • Experience writing and debugging multithreaded programs
  • Understanding of system level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped IO
  • Strong interest in system software
  • Knowledge of memory coherence and consistency models
  • Good written communication

Ways to stand out from the crowd

  • Windows Display Driver Model (WDDM) experience
  • Experience with game development
  • Background in computer graphics (OpenGL, Vulkan, DirectX)
  • Experience writing Windows device drivers
  • Experience with kernel mode development