logo

NVIDIA

Senior Software Engineer - GPU/Compute Systems

Department
Engineering
Job Type / Location
Pune
Experience Required
5+ years
Posted On

About the team:

Our NVIDIA GPU System Software team is seeking outstanding software engineers to join us in crafting the next-generation GPU and Compute Runtime. As a member of the team, you will be responsible for defining and implementing the software features needed to bring up NVIDIA's next-generation GPUs and SoC designs. We are looking for engineers with a strong background in low-level software development, debugging, and verification to ensure robust and performant GPU functionality. Join us and help invent the future of GPU computing.

What you'll be doing:

  • Work on the full Software Development Life Cycle (SDLC) from design, implementation, debugging, and verification to the release of NVIDIA's GPU and Compute runtime software.
  • Be responsible for bringing up new GPU architectures and compute systems.
  • Work with software, hardware, and architecture teams to ensure that new GPUs are fully functional and performant.
  • Debug and resolve complex issues across the entire software stack, including drivers, firmware, and hardware.
  • Develop and maintain internal tools and infrastructure to support GPU bring-up and validation.
  • Participate in code reviews, design discussions, and team meetings to ensure the quality and consistency of our software.

What we need to see:

  • BS or MS in Computer Science, Computer Engineering, or a related field (or equivalent experience).
  • Strong programming skills in C/C++.
  • Strong background in system software development, including operating systems, device drivers, or firmware.
  • Experience with verification, debugging, and performance tuning.
  • Familiarity with GPU architectures and compute APIs (e.g., CUDA, OpenCL, Rocm).
  • Excellent problem-solving and analytical skills.
  • Outstanding communication and collaboration abilities.

Ways to stand out from the crowd:

  • Experience with compiler technologies (e.g., LLVM, GCC).
  • Proficiency in scripting languages such as Python, Bash, or Perl.
  • Familiarity with different CPU architectures (e.g., x86, ARM, PowerPC).
  • Experience with large-scale software development projects.
  • History of contribution to open-source projects.

View Assessment Process

Think you'll be a good fit?