onsite
Senior Software Engineer - GPU/Compute Systems
Senior Software Engineer - GPU/Compute Systems
NVIDIA is seeking a Senior Software Engineer for its GPU System Software team in Pune, India. This role involves working on the full SDLC for next-generation GPU and Compute runtime software, focusing on bring-up, debugging, and verification of new GPU architectures. The ideal candidate will have strong C/C++ programming skills and experience in system software development.
About the role
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.