Senior Software Engineer, Fabric Networking - GPU

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA +5 · Remote

Senior Software Engineer role focused on GPU Fabric Networking, developing and maintaining software for GPU-to-GPU communication in High Performance Computing and Deep Learning platforms. Requires strong C/C++ and systems programming skills.

What you'd actually do

  1. Design, implement and maintain system software that enables communication between GPUs.
  2. Participate in the architectural definition and design of next-generation communication hardware and software to support large scale computing platforms.
  3. Work with cross-disciplinary teams to understand business requirements and align software direction to meet those needs.

Skills

Required

  • B.S/M.S/Ph.D. in computer science or a related field or equivalent experience
  • 5+ years of relevant experience
  • Excellent C/C++ programming and debugging skills
  • Shell scripting experience
  • Experience writing software applications that interface with device drivers and expose associated hardware functionality
  • Strong understanding of computer system architecture, operating system and kernel internals
  • Strong experience with Linux and comfortable working in a cross-platform environment (Linux and Windows)
  • Experience with multi-core / multi-process / multi-threaded programming environment
  • Strong understanding of networking fundamentals and high-performance networks like Ethernet/IB
  • Experience with OS virtualization technologies like KVM/QEMU/Hyper-V etc.

Nice to have

  • Python and Perl experience
  • Understanding of CUDA programming model and NVIDIA GPUs
  • Knowledge of memory coherence and consistency models
  • Familiarity with static and dynamic code analysis, fuzzing, negative testing, and other techniques.