Senior Software Engineer, GPU Communication
Location
United States
Level
Senior
Department
Engineering
Type
Full - Time
Salary
Job Description
Posted on:
January 23, 2023
NVIDIA is looking for phenomenal people like you to help us accelerate the next wave of artificial intelligence. We are looking for a highly motivated senior software engineer for an exciting role in our network software and communication libraries team. The position will be part of a fast-paced crew that develops and maintains software for complex heterogeneous computing systems that power disruptive products in High Performance Computing and Deep Learning.
Responsibilities
- Design, implement and maintain highly-optimized communication runtimes for Deep Learning frameworks (e.g. NCCL for TensorFlow/Pytorch) and parallel programming interfaces (e.g. UCX for MPI/OpenSHMEM) on GPU clusters.
- Participating in and contributing to parallel programming interface specifications like MPI/OpenSHMEM.
- Design, implement and maintain system software that enables interactions among GPUs and interactions between GPUs and other system components.
- Creating proof-of-concepts to evaluate and motivate extensions in programming models, new designs in runtimes and new features in hardware.
Job Requirements
- Pursuing M.S./Ph.D. degree in CS/CE or equivalent experience.
- 4+ years of relevant experience.
- Excellent C/C++ programming and debugging skills.
- Strong experience with Linux.
- Expert understanding of computer system architecture and operating systems.
- Experience with parallel programming interfaces and communication runtimes.
- Ability and flexibility to work and communicate effectively in a multi-national, multi-time-zone corporate environment.