Software Engineering Manager - GPU Communications Libraries

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA

Software Engineering Manager to lead a team developing GPU communication libraries (NCCL, NVSHMEM, UCX) for Deep Learning and HPC applications, focusing on performance and scalability.

What you'd actually do

  1. Lead, mentor, and grow your library engineering team and be responsible for the planning and execution of projects as well as the quality, and performance of your libraries.
  2. This is a technical leadership role so you will participate in feature design and implementation.
  3. Interact with internal and external partners and researchers to understand their use cases and requirements. Collaborate with engineering teams, program and product management, and partners to define the product roadmap.
  4. Continuously review and identify improvement opportunities in established processes, infrastructure, and practices to ensure the teams are executing in the most efficient and transparent manner.

Skills

Required

  • 10+ years of experience in the software industry with specialization in HPC networking or system software
  • 4+ years of management experience
  • BS, MS, or Ph.D. in CS, CE, EE (related technical field) or equivalent experience
  • Prior systems software or communication runtime or high performance networking software development experience
  • Strong understanding of computer system architecture, operating systems principles, HW-SW interactions and performance analysis/optimizations
  • Excellent C/C++ programming and debugging skills in Linux
  • Experience balancing multiple projects with competing priorities
  • Flexibility to work and communicate effectively across different teams and timezones

Nice to have

  • Experience with parallel programming models (MPI, SHMEM) and at least one communication runtime (MPI, NCCL, NVSHMEM, OpenSHMEM, UCX, UCC)
  • Experience with programming using CUDA, MPI, OpenMP, OpenACC, pthreads
  • Background with RDMA, high-performance networking technologies (InfiniBand, RoCE, Ethernet, EFA), network architecture and network topologies
  • Knowledge of HPC and ML/DL fundamentals
  • Experience with Deep Learning Frameworks such PyTorch, TensorFlow, etc.

What the JD emphasized

  • successful track record of taking several complex software features or products through the full product life cycle
  • Excellent C/C++ programming and debugging skills in Linux
  • Experience balancing multiple projects with competing priorities