NVIDIA is leading the way in groundbreaking developments in Artificial Intelligence, High-Performance Computing and Visualization. The GPU, our invention, serves as the visual cortex of modern computers and is at the heart of our products and services. Our work opens up new universes to explore, enables amazing creativity and discovery, and powers what were once science fiction inventions from artificial intelligence to autonomous cars. 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.
What you will be doing:
What we need to see:
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
Ways to stand out from the crowd:
M.S./Ph.D. degree in CS/CE or equivalent experience
10+ 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
Deep understanding of technology and passionate about what you do
Experience with CUDA programming and NVIDIA GPUs
Knowledge of high-performance networks like InfiniBand, iWARP etc.
Experience with parallel scientific applications
St rong collaborative and interpersonal skills, specifically a proven ability to effectively guide and influence within a dynamic matrix environment
NVIDIA offers highly competitive salaries and a comprehensive benefits package. We have some of the most brilliant and talented people in the world working for us and, due to unprecedented growth, our world-class engineering teams are growing fast. If you're a creative and autonomous engineer with real passion for technology, we want to hear from you.
NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression , sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.