Senior Software Engineer, Profiling Services

NVIDIA NVIDIA · Semiconductors · Tel Aviv, Israel

NVIDIA is seeking a Senior Software Engineer to build a low-overhead, always-on GPU profiling service for ML workloads. The role involves C/C++ development, system-level programming, and integrating profiling models with ML workflows to provide actionable insights. Experience with GPU profiling, CUDA, and ML ecosystems is highly valued.

What you'd actually do

  1. Develop low-overhead, high-reliability implementations in C/C++, with bounded CPU/memory budgets.
  2. Lead end-to-end feature delivery spanning user-mode components, driver/platform layers, and performance counter/trace providers.
  3. Establish profiling models that integrate with existing ML/AI workflows (e.g., PyTorch/XLA) to turn low-level signals into actionable insights.

Skills

Required

  • 5+ years of system-level C/C++ development
  • concurrency
  • memory management
  • performance engineering
  • system software design
  • operating systems fundamentals
  • computer architectures
  • performance analysis
  • delivering production-quality software
  • interpersonal, verbal, and written communication

Nice to have

  • profiling/tracing stacks for CPU/GPU (e.g., CUPTI, Nsight, performance counters, event correlation)
  • debugging highly concurrent systems
  • CUDA and GPU architecture
  • runtime/driver APIs
  • CUDA streams/graphs
  • kernel behavior
  • continuous, always-on, or multi-client profiling systems
  • tuning ML training/inference loops
  • ML ecosystems (e.g., PyTorch, JAX)
  • correlating application events with GPU metrics
  • bottleneck triage
  • compute vs. memory bound
  • user-mode driver development
  • integration within platform security and permissions models

What the JD emphasized

  • production
  • low-overhead
  • always-on
  • ML workloads
  • actionable insights
  • production-quality software
  • predictable overhead at scale
  • actionable performance insights