NVIDIA

Senior Software Engineer, GPU Communication

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.

Apply now

More job openings