Senior System Software Engineer, Nccl - Partner Enablement

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

Senior System Software Engineer focused on NCCL (NVIDIA Collective Communications Library) for Deep Learning and HPC applications. The role involves engaging with partners and customers to resolve issues, conduct performance analysis on GPU clusters, develop tools for issue isolation, and provide training. Requires strong C/C++ and Linux skills, experience with parallel programming and communication runtimes, and practical knowledge of high-performance networking and cloud platforms.

What you'd actually do

  1. Engage with our partners and customers to root cause functional and performance issues reported with NCCL
  2. Conduct performance characterization and analysis of NCCL and DL applications on groundbreaking GPU clusters
  3. Develop tools and automation to isolate issues on new systems and platforms, including cloud platforms (Azure, AWS, GCP, etc.)
  4. Guide our customers and support teams on HPC knowledge and standard methodologies for running applications on multi-node clusters
  5. Document and conduct trainings/webinars for NCCL

Skills

Required

  • B.S./M.S. degree in CS/CE or equivalent experience with 5+ years of relevant experience
  • Experience with parallel programming and at least one communication runtime (MPI, NCCL, UCX, NVSHMEM)
  • Excellent C/C++ programming skills, including debugging, profiling, code optimization, performance analysis, and test design
  • Experience working with engineering or academic research community supporting HPC or AI
  • Practical experience with high performance networking: Infiniband/RoCE/Ethernet networks, RDMA, topologies, congestion control
  • Expert in Linux fundamentals and a scripting language, preferably Python
  • Familiar with containers, cloud provisioning and scheduling tools (Docker, Docker Swarm, Kubernetes, SLURM, Ansible)

Nice to have

  • Experience conducting performance benchmarking and developing infrastructure on HPC clusters
  • Prior system administration experience, esp for large clusters
  • Experience debugging network configuration issues in large scale deployments
  • Familiarity with CUDA programming and/or GPUs
  • Good understanding of Machine Learning concepts and experience with Deep Learning Frameworks such PyTorch, TensorFlow
  • Deep understanding of technology and passionate about what you do

What the JD emphasized

  • Excellent C/C++ programming skills
  • Experience working with engineering or academic research community supporting HPC or AI
  • Practical experience with high performance networking
  • Expert in Linux fundamentals

Other signals

  • NCCL
  • Deep Learning
  • HPC
  • GPU clusters
  • high-speed networking