Senior System Software Engineer, Nccl - Partner Enablement

NVIDIA NVIDIA · Semiconductors · Tel Aviv, Israel +1

Senior System Software Engineer focused on partner enablement for NCCL (NVIDIA Collective Communications Library), a crucial library for scaling Deep Learning and HPC applications. The role involves root cause analysis, performance characterization, tool development, and training for partners and customers using NCCL on large GPU clusters with high-speed networking.

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

What the JD emphasized

  • NCCL
  • Deep Learning
  • HPC
  • GPU clusters
  • high-speed networking
  • parallel programming
  • communication runtime
  • C/C++ programming skills
  • debugging
  • profiling
  • code optimization
  • performance analysis
  • test design
  • HPC or AI
  • high performance networking
  • Linux fundamentals
  • scripting language
  • Python
  • containers
  • cloud provisioning
  • scheduling tools
  • Docker
  • Docker Swarm
  • Kubernetes
  • SLURM
  • Ansible
  • performance benchmarking
  • developing infrastructure
  • HPC clusters
  • system administration
  • network configuration issues
  • large scale deployments
  • CUDA programming
  • GPUs
  • Machine Learning concepts
  • Deep Learning Frameworks
  • PyTorch
  • TensorFlow