Nvidia
Performance Engineer
Overview
We are looking for a motivated Performance engineer to influence the roadmap of our communication libraries. You will conduct in-depth performance characterization and analysis on large multi-GPU and multi-node clusters.
About Nvidia
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.
Requirements & Eligibility
- 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
- 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)
Key Responsibilities
- 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
Disclaimer: Trace Hiring is an independent job board. We are not directly affiliated with Nvidia. Please verify all details on the official company application portal.