Software Engineer, ML Performance
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+5 more
Job description
- Analyze the performance of distributed training and inference workloads throughout the entire stack: model and framework, data loading and checkpointing, compiler and kernels, CUDA and NCCL, host and network. Identify the bottleneck, resolve it or suggest a solution, and provide the supporting evidence.
- Define the performance metrics tracked across a fleet of GPUs. Break them down into factors engineers need to debug. Decide which signals the platform collects first.
- Drive the analysis of regressions: segment workloads across machines, versions, and configurations to isolate the cause, and turn the method into analysis others can reuse.
- Evaluate automated diagnoses: judge whether a finding is accurate, identify misleading results and missed problems, and build the labeled cases that keep the analysis honest.
- Work closely with build partners on their real workloads, carry findings through to improvements, and feed what the product is missing back into the roadmap.
Requirements
- Bachelor’s degree in Computer Science, Computer Engineering, or a related field, or equivalent experience.
- 12+ years of relevant software engineering experience, including hands-on optimization of GPU training or inference workloads in production.
- Demonstrated performance work across more than one layer of the stack, with a clear account of the baseline, evidence, alternative explanations and validated outcome.
- Experience diagnosing performance across many jobs, machines or tenants, not only tuning a single workload.
- Enough familiarity with framework, runtime and compiler interfaces to say where a signal should be measured, even when someone else writes the instrumentation.
- Ability to distinguish symptoms from causes, recognize noisy or incomplete measurements and the effects of the measurement itself, and know when the evidence is insufficient.
- Strong programming and debugging skills, demonstrated by maintainable analysis code, tests or repeatable investigation procedures, including when using automated development tools.
- Clear communication of findings, trade-offs and remaining uncertainty to the people who own the workload.
- Proficiency with Python and CUDA.
Ways to stand out from the crowd:
- Improved operation of both training and inference.
- Deep knowledge of one or more of PyTorch, JAX, Megatron, NCCL, TensorRT-LLM, vLLM, SGLang or Dynamo.
- Experience moving between application, system software, driver or hardware roles, and the full-stack view that comes with it.
- Statistical judgment applied to noisy, multi-node fleet-scale performance data. Ideally, experience with counter-factual analysis and segmentation of workloads for diagnosing regressions.
- Built debugging or performance-analysis tools used by other engineers, with evidence that they made investigations more effective.
Benefits & conditions
Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 224,000 USD - 356,500 USD.
About the company
NVIDIA has been transforming computer graphics, PC gaming, and accelerated computing for more than 25 years. It’s a unique legacy of innovation that’s fueled by great technology-and amazing people. Today, we’re tapping into the unlimited potential of AI to define the next era of computing. An era in which our GPU acts as the brains of computers, robots, and self-driving cars that can understand the world. Doing what’s never been done before takes vision, innovation, and the world’s best talent. As an NVIDIAN, you’ll be immersed in an inclusive, supportive environment where everyone is inspired to do their best work. Come join the team and see how you can make a lasting impact on the world.
Join us at NVIDIA and be part of a team that’s crafting the future of technology! Our dedication to innovation and excellence has made us a leader in computer graphics, PC gaming, and accelerated computing for over 25 years. As we delve into the limitless opportunities that AI brings, we are looking for passionate individuals to help us push boundaries and redefine what’s possible. NVIDIA is seeking a dedicated Software Engineer, ML Performance to join our team in Santa Clara, CA. In this role, you will engage directly with the latest AI technologies and work on optimizing performance at an outstanding scale. Your expertise will ensure that our groundbreaking solutions operate flawlessly and continue to lead the industry.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…