Senior System Software Engineer - GPU Performance
$152k - $288k • Remote • US, CA, Santa Clara
Posted 3d ago
Job Location
US, CA, Santa Clara
Tech Stack
Remote Work Policy
Fully remote
Categories
AI Infrastructure Engineer
About the job
NVIDIA is seeking a motivated Performance Engineer to join our GPU Communications Libraries and Networking team. This role involves influencing the roadmap of communication libraries that are critical for Deep Learning and High Performance Computing applications running on massive GPU clusters. You will analyze and optimize communication performance between GPUs, which directly impacts end-to-end application performance at scale. This is an excellent opportunity to advance the state of the art in GPU communication and contribute to NVIDIA's innovative technologies.
Responsibilities
- Conduct in-depth performance characterization and analysis on large multi-GPU and multi-node clusters.
- Study the interaction of communication libraries with hardware (GPU, CPU, Networking) and software components.
- Evaluate proof-of-concepts and conduct trade-off analysis for multiple solutions.
- Triage and root-cause performance issues reported by customers.
- Collect and analyze performance data, building tools for visualization and analysis.
- Collaborate with a dynamic team across multiple time zones.
Requirements
- M.S. or PhD in Computer Science, or equivalent experience, with relevant performance engineering and HPC experience.
- 3+ years 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, hardware-software interactions, and operating systems principles.
- Proficiency in implementing micro-benchmarks in C/C++ and modifying codebases.
- Ability to debug performance issues across the entire hardware/software stack.
- Proficiency in a scripting language, preferably Python.
- Familiarity 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.
Benefits
- Equity
- Benefits
