Principal Software Engineer, Profiling Services

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA +1

This role focuses on designing and shipping a production-grade, low-overhead GPU profiling service for ML workloads. The engineer will lead architecture and implementation in C/C++ across system software, drivers, and CUDA, ensuring scalability and reliability. Key responsibilities include establishing profiling models that integrate with ML frameworks to provide actionable performance insights and technical leadership within the team. While the service supports ML workloads, the core craft is system software and performance engineering, not direct ML model development.

What you'd actually do

  1. Design the architecture for an Always-On profiling service, defining interfaces, data flows, and scalability guarantees for multi-process/GPU/node systems.
  2. Drive low-overhead, high-reliability implementations in C/C++, including IPC/shared memory, and bounded CPU/memory budgets.
  3. Lead end-to-end feature delivery spanning user-mode components, driver/platform layers, and performance counter/trace providers.
  4. Establish profiling models that integrate with existing ML/AI workflows (e.g., PyTorch/XLA) to turn low-level signals into actionable insights.
  5. Set technical direction for an engineering team; mentor engineers, drive technical planning to mitigate architectural risks, and align roadmaps across internal and external partners.

Skills

Required

  • BS or MS degree or equivalent experience in Computer Engineering, Computer Science, or related degree
  • 15+ years of system-level C/C++ development, including concurrency, memory management, and performance engineering
  • Proven experience designing and shipping production quality system software or drivers with strict reliability, observability, and performance constraints
  • Demonstrated technical leadership: defining architecture and success metrics, and translating abstract product visions into actionable technical roadmaps with fast-paced, multidisciplinary teams
  • Strong interpersonal, verbal, and written communication; able to influence across organizations and build trust with external collaborators

Nice to have

  • Extensive experience with profiling/tracing stacks for CPU/GPU (e.g., CUPTI, Nsight, performance counters, event correlation) and debugging highly concurrent systems
  • Deep hands-on knowledge of CUDA and GPU architecture, including runtime/driver APIs, CUDA streams/graphs, and kernel behavior
  • Track record building continuous, always-on, or multi-client profiling systems designed for predictable overhead at scale
  • Hands-on experience tuning ML training/inference loops based on deep profiling analysis, with familiarity in ML ecosystems (e.g., PyTorch, JAX) and correlating application events with GPU metrics to translate data into actionable performance insights (e.g., bottleneck triage, compute vs. memory bound)
  • Experience with user-mode driver development and integration within platform security and permissions models

What the JD emphasized

  • 15+ years of system-level C/C++ development
  • Proven experience designing and shipping production quality system software or drivers
  • Extensive experience with profiling/tracing stacks for CPU/GPU
  • Deep hands-on knowledge of CUDA and GPU architecture
  • Track record building continuous, always-on, or multi-client profiling systems