Senior System Software Engineer, Nccl - Partner Enablement

NVIDIA NVIDIA · Semiconductors · Zurich, Switzerland +5 · Remote

Senior System Software Engineer focused on NCCL (NVIDIA Collective Communications Library) for scaling Deep Learning and HPC applications. The role involves engaging with partners and customers to troubleshoot functional and performance issues, conduct performance analysis on GPU clusters, develop automation tools, and provide guidance on running applications on multi-node clusters. Experience with parallel programming, communication runtimes, high-performance networking, and Linux is required.

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

  • performance characterization and analysis
  • performance benchmarking
  • debugging network configuration issues

Other signals

  • performance characterization and analysis of NCCL and DL applications on groundbreaking GPU clusters
  • Develop tools and automation to isolate issues on new systems and platforms
  • Guide our customers and support teams on HPC knowledge and standard methodologies for running applications on multi-node clusters