System Software Engineer, GPU Development Tools

NVIDIA

NVIDIA

Software Engineering
Shanghai, China
Posted on Jul 16, 2024

A key part of NVIDIA's strength is our sophisticated development tools and modelling environments that enable our incredible pace of delivering new technology to market. We are looking for forward-thinking, hard-working, and creative people to join a multifaceted software team with high production-quality standards. This software engineering role involves developing high-level chip models, test APIs and trace generation workflows, and analysis tools. As a member of the software development team, you will engineer and improve the core infrastructure for execution, automation, and debugging the development of large-scale, general-purpose graphics and computing chips. This infrastructure enables our driver stack, applications, tests, and studies to run unchanged on all functional, diagnostic, and performance models.

What you’ll be doing:

  • This role will require you to play a critical part in every stage of development of a GPU!

  • Improve the daily workflows of the world’s top chip modelers and designers to help produce the next greatest generation of GPUs.

  • Empower GPU architects to understand application performance today and model competition-destroying performance for tomorrow.

  • Coordinate with architecture and software teams to enable functional and performance testing for the next architecture.

What we need to see:

  • Bachelor's or higher degree in Computer Science, Computer Engineering, or related major

  • 5+ years of experience

  • Aptitude to work across the GPU, driver, and application stacks

  • Strong C/C++ is a must-have capability

  • Excellent interpersonal skills

  • Ability to multi-task

  • Some familiarity with a scripting language, such as Python or Perl

  • Flexibility for working in an evolving environment with different frameworks and requirements

Ways to stand out from the crowd:

  • Know-how working on operating system kernels or writing device drivers with strong systems-level debugging skills

  • A knowledge of GPU APIs such as DirectX, CUDA, Vulkan or OpenGL

  • Experience with chip and/or system simulation

  • Deep understanding of systems architecture: CPU, GPU, memory, display, buses, kernel internals would be helpful

  • Advanced programming expertise with full-stack web based visualization technologies to help provide data insights.