About the job
A key part of NVIDIA's strength is our sophisticated analysis / debugging tools that empower NVIDIA engineers to improve perf and power efficiency of our products and the running applications. We are looking for forward-thinking, hard-working, and creative people to join a multifaceted software team with high standards! This software engineering role involves developing tools for AI researchers and SW/HW teams running AI workload in GPU cluster.
Responsibilities
Build internal profiling and analysis tools for AI workloads at large scale
Build debugging tools for common encountered problems like memory or networking
Create benchmarking and simulation technologies for AI system or GPU cluster
Partner with HW architects to propose new features or improve existing features with real world use cases
Qualifications
Minimum
BS+ in Computer Science or related (or equivalent experience) and 6+ years of software development
Strong software skills in design, coding (C++ and Python), analytical, and debugging
Good understanding of Deep Learning frameworks like PyTorch and TensorFlow, distributed training and inference.
Knowledge of GPU cluster job scheduling (Slurm or Kubernetes), storage and networking
Experience with NVIDIA GPUs, CUDA Programming and NCCL
Motivated self-starter with strong problem-solving skills and customer-facing communication skills
Passion for continuous learning. Ability to work concurrently with multiple global groups
Preferred
Proven experience in GPU cluster scale continuous profiling & analysis tools/platforms
Solid experience in large AI job performance analysis for training/inference workload
Knowledge of Linux device drivers and/or compiler implementation
Knowledge of GPU and/or CPU architecture and general computer architecture principles