Senior Software Engineer, NCCL
Core
Design, implement, and maintain highly-optimized communication runtimes (e.g., NCCL, UCX) and system software for GPU clusters and heterogeneous computing systems.
Role type
Senior Software Engineer (HPC/Communication Libraries)
Builds
Communication runtimes for Deep Learning frameworks and HPC programming interfaces
Domain
High-Performance Computing, Deep Learning, GPU Systems
Deliverable
production ML models
Required skills
C/C++ programming, Linux, computer system architecture, operating systems, parallel programming interfaces, communication runtimes
Preferred skills
CUDA programming, NVIDIA GPUs, high-performance networks (InfiniBand, iWARP), HPC applications, Deep Learning Frameworks (PyTorch, TensorFlow)
Technologies
NCCL, TensorFlow, PyTorch, UCX, MPI, OpenSHMEM, CUDA, InfiniBand, iWARP
Responsibilities
Design and implement communication runtimes for Deep Learning frameworks; Participate in parallel programming interface specifications; Design system software for GPU interactions; Create proof-of-concepts for new runtime designs and hardware features
Seniority
Senior, hands-on IC
