Senior Software Engineer - Cuda and Unified Memory

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA +1

Senior Software Engineer to work on the CUDA driver and Unified Memory kernel driver, a core component of NVIDIA's platform for accelerating general-purpose computation on GPUs. The role involves architecting, implementing, and improving features for various computational workloads, including deep learning and scientific computation.

What you'd actually do

  1. Architect, and implement new features for new chips and new kernel features
  2. Coordinate with other teams to accomplish your work daily
  3. Help define forward-looking improvements to the CUDA APIs and programming model
  4. Write effective, maintainable, and well-tested kernel and userspace code
  5. Develop code for multiple Linux operating systems

Skills

Required

  • BS or MS degree in Computer Science, Electrical Engineering or related field (or equivalent experience)
  • Strong C programming skills
  • 10+ years of related development experience
  • Experience working with large codebases
  • Background with operating system interfaces for threads, process control, and virtual memory
  • Experience writing and debugging multithreaded programs
  • Good written communication

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
  • Experience with kernel mode development
  • Experience with Windows, Linux, or macOS driver development
  • Some familiarity w C++

What the JD emphasized

  • Minimum of 10+ years of related development experience