Senior System Software Engineer, GPU Performance Profiling

NVIDIA NVIDIA · Semiconductors · Austin, TX +1

Senior System Software Engineer focused on GPU performance profiling tools. This role involves developing and enhancing tools for analyzing and tuning the performance of NVIDIA GPUs across various operating systems and applications. The engineer will work with compute programming models, GPU architecture, and contribute to the development of next-generation profiling capabilities.

What you'd actually do

  1. Develop compute performance analysis tools for GPUs running on Linux, Windows, and embedded operating systems.
  2. Work with tools, architecture, and driver teams to design, implement and verify new features in the compute profiler stack.
  3. Write fast, effective, maintainable, reliable, and well documented code.
  4. Work closely with internal and external partners including other peer organizations within NVIDIA.
  5. Provide peer reviews to other specialists including feedback on performance, scalability, and correctness.

Skills

Required

  • C++
  • C
  • Scripting languages
  • Software design
  • Debugging
  • GPU Compute API (CUDA, OpenCL)
  • Assembly code patching (CPU/GPU)
  • Performance analysis tools
  • GPU hardware architecture
  • Compiler technologies

Nice to have

  • Experience in writing performance or correctness tools
  • Familiarity with tools for performance analysis
  • Background in high performance computing

What the JD emphasized

  • PhD or equivalent experience in Computer Engineering or Computer Science
  • 5+ years of software development experience
  • Strong programming ability in C, C++ and scripting languages
  • Strong software design and debugging skills
  • Extensive hands-on programming experience
  • Knowledge of a GPU Compute API such as CUDA, OpenCL, or similar
  • Experience of assembly code patching on CPUs or GPUs