Role at a glance
- Salary
- $152K – $287.5K/yr
- Location
- Santa Clara, California, United States
- Work arrangement
- On-site
- Employment
- Full-time
- Experience
- 3+ yrs of experience with parallel programming and at least one communication runtime
- Education
- M.S. (or equivalent experience) or PhD in Computer Science, or related field
Spotted an issue?
We’ll check it against the original posting.
Role Summary
The GPU Communications Libraries and Networking team develops libraries including NCCL, NVSHMEM, and UCX for deep learning and high-performance computing. The Performance Engineer will analyze communication performance across large multi-GPU and multi-node systems and help influence the roadmap of these libraries.
What You'll Do
- Conduct in-depth performance characterization and analysis on large multi-GPU and multi-node clusters
- Study the interaction of communication libraries with GPU, CPU, networking, and software components
- Evaluate proof-of-concepts and conduct trade-off analysis
- Triage and root-cause performance issues reported by customers
- Collect performance data and build tools and infrastructure to visualize and analyze it
- Collaborate with a dynamic team across multiple time zones
Generated from the employer's posting. Verify important details before applying.
View full postingQualifications
M.S. (or equivalent experience) or PhD in Computer Science or a related field; 3+ years of parallel programming and communication-runtime experience; performance benchmarking and triage on large-scale HPC clusters; computer systems, operating systems, C/C++, scripting, containers, cloud provisioning, and scheduling tools.
Required
- M.S. (or equivalent experience) or PhD in Computer Science, or related field
- Relevant performance engineering and HPC experience
- 3+ yrs of experience with parallel programming
- Experience with at least one communication runtime: MPI, NCCL, UCX, or NVSHMEM
- Experience conducting performance benchmarking and triage on large scale HPC clusters
- Good understanding of computer system architecture, HW-SW interactions and operating systems principles
- Implement micro-benchmarks in C/C++
- Ability to debug performance issues across the entire HW/SW stack
Preferred
- Practical experience with Infiniband/Ethernet networks in areas like RDMA, topologies, congestion control
- Experience debugging network issues in large scale deployments
- Familiarity with CUDA programming and/or GPUs
- Experience with Deep Learning Frameworks such PyTorch, TensorFlow
Original job description
Content provided by the employer
Original job description
Content provided by the employer
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.
We are the GPU Communications Libraries and Networking team at NVIDIA. We deliver libraries like NCCL, NVSHMEM, UCX for Deep Learning and HPC. We are looking for a motivated Performance engineer to influence the roadmap of our communication libraries. The DL and HPC applications of today have a huge compute demand and run on scales which go up to tens of thousands of GPUs. The GPUs are connected with high-speed interconnects (eg. NVLink, PCIe) within a node and with high-speed networking (eg. Infiniband, Ethernet) across the nodes. Communication performance between the GPUs has a direct impact on the end-to-end application performance; and the stakes are even higher at huge scales! This is an outstanding opportunity for someone with HPC and performance background to advance the state of the art in this space. Are you ready for to contribute to the development of innovative technologies and help realize NVIDIA's vision?
What you will be doing:
Conduct in-depth performance characterization and analysis on large multi-GPU and multi-node clusters.
Study the interaction of our libraries with all HW (GPU, CPU, Networking) and SW components in the stack
Evaluate proof-of-concepts, conduct trade-off analysis when multiple solutions are available
Triage and root-cause performance issues reported by our customers
Collect a lot of performance data; build tools and infrastructure to visualize and analyze the information
Collaborate with a very dynamic team across multiple time zones
What we need to see:
M.S. (or equivalent experience) or PhD in Computer Science, or related field with relevant performance engineering and HPC experience
3+ yrs of experience with parallel programming and at least one communication runtime (MPI, NCCL, UCX, NVSHMEM)
Experience conducting performance benchmarking and triage on large scale HPC clusters
Good understanding of computer system architecture, HW-SW interactions and operating systems principles (aka systems software fundamentals)
Implement micro-benchmarks in C/C++, read and modify the code base when required
Ability to debug performance issues across the entire HW/SW stack. Proficient in a scripting language, preferably Python
Familiar with containers, cloud provisioning and scheduling tools (Kubernetes, SLURM, Ansible, Docker)
Adaptability and passion to learn new areas and tools. Flexibility to work and communicate effectively across different teams and timezones
Ways to stand out from the crowd:
Practical experience with Infiniband/Ethernet networks in areas like RDMA, topologies, congestion control
Experience debugging network issues in large scale deployments
Familiarity with CUDA programming and/or GPUs
Experience with Deep Learning Frameworks such PyTorch, TensorFlow
You will also be eligible for equity and benefits.
This posting is for an existing vacancy.
NVIDIA uses AI tools in its recruiting processes.
NVIDIA is committed to fostering an inclusive 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.About the company
NVIDIA
Large Enterprise
NVIDIA is a leading technology company renowned for its graphics processing units (GPUs) and innovative computing solutions that enhance visual experiences across multiple platforms, including gaming, scientific research, and artificial intelligence. Founded in 1993, the company has expanded its offerings to include powerful AI frameworks and deep learning platforms, making significant contributions to industries such as gaming, data centers, automotive, and healthcare. NVIDIA's commitment to pushing the boundaries of visual computing continues to drive advancements in both hardware and software, positioning the company at the forefront of emerging technologies and digital transformation.
NVIDIA is a leading technology company renowned for its graphics processing units (GPUs) and innovative computing solutions that enhance visual experiences across multiple platforms, including gaming, scientific research, and artificial intelligence. Founded in 1993, the company has expanded its offerings to include powerful AI frameworks and deep learning platforms, making significant contributions to industries such as gaming, data centers, automotive, and healthcare. NVIDIA's commitment to pushing the boundaries of visual computing continues to drive advancements in both hardware and software, positioning the company at the forefront of emerging technologies and digital transformation.