
System Software Engineer, GPU Simulation
NVIDIA · India
This listing has closed — view similar roles below.
- Hybrid
- Full-time
- $130,000 / year
- India
Job highlights
- Build GPU simulators for scalable systems.
- Define, design, develop simulation features.
- Improve simulation performance and fix bugs.
- Work closely with hardware and software teams.
- Requires C/C++ and system software experience.
About the role
System Software Engineer GPU Simulation
We are hiring a System Software Engineer who will help build outstanding simulators for our GPU products. Simulations play a significant role in building scalable systems at the speed of light! You will work with world-class engineering teams across hardware and software to build scalable simulation platforms for software development — not only in the pre-silicon stage but even after hardware platforms are available.
What You'll Be Doing
- Define, design, develop and verify features for GPU simulation platforms; collaborating with hardware engineers and fellow software engineers.
- Improve simulation performance, fix bugs across user and kernel stacks, and automate systems for regression testing.
- Heavily involve with the early modeling and simulation required to produce our world-class products.
- Collaborate and communicate effectively with teams from all around the globe.
What We Need To See
- BE degree or higher (Computer Science or related) with 2+ years of relevant experience.
- In-depth understanding of Windows or Linux device drivers, PC architecture, and ability to work close to the hardware.
- Proficient in C/C++ with strong software development, optimization, and analytical skills.
- Strong debugging skills and extensive experience using gdb/kgdb/windbg to analyze system software.
Ways To Stand Out From The Crowd
- Experience in virtualization, hypervisors, and building hardware simulators (e.g., QEMU, KVM, VDK, etc.).
- Experience in hardware and software stack bringup using simulators and emulators.
- Understanding of Windows OS internals and driver models (WDM/WDDM/MCDM, etc.).
- Familiarity with microprocessor and microcontroller fundamentals (caches, buses, memory controllers, DMA, etc.).
Key skills/competency
- System Software Engineering
- GPU Simulation
- C/C++
- Device Drivers
- Linux
- Windows
- Debugging
- Performance Optimization
- Hardware Simulation
- PC Architecture
Skills & topics
- System Software Engineer
- GPU Simulation
- C++
- Device Drivers
- Linux
- Windows
- Debugging
- Performance Optimization
- Hardware Simulation
- PC Architecture
- Software Development
- Simulation Platforms
- Virtualization
- Hypervisors
- OS Internals
How to get hired
- Tailor your resume: Highlight C/C++ proficiency, device driver experience, and debugging skills relevant to system software engineering.
- Showcase simulation experience: Emphasize any work with hardware simulators, virtualization, or OS internals in your application.
- Prepare for technical interviews: Expect questions on C/C++, OS concepts, driver models, and debugging techniques using tools like gdb.
- Research NVIDIA: Understand their GPU technology, simulation needs, and company culture to align your application and interview responses.
Technical preparation
Master C/C++ for system software development.,Deepen understanding of Linux/Windows drivers.,Practice debugging with gdb/windbg.,Study PC architecture and hardware interaction.
Behavioral questions
Describe a complex system bug you debugged.,How do you collaborate with global teams?,How do you approach performance optimization challenges?,Share your experience working close to hardware.
Frequently asked questions
- What specific C/C++ skills are most important for the System Software Engineer GPU Simulation role at NVIDIA?
- For the System Software Engineer GPU Simulation position at NVIDIA, proficiency in C/C++ is crucial, particularly for software development, optimization, and analytical tasks. Strong debugging skills using tools like gdb/kgdb/windbg are also highly valued for analyzing system software.
- How does NVIDIA use GPU simulation in its product development process?
- NVIDIA utilizes GPU simulation extensively to build scalable systems for software development, both before silicon is available (pre-silicon) and after hardware platforms are released. This ensures the robustness and performance of their world-class GPU products.
- What operating systems are relevant for this System Software Engineer role at NVIDIA?
- The System Software Engineer role at NVIDIA requires an in-depth understanding of either Windows or Linux device drivers and PC architecture. Familiarity with both operating systems and their internals is beneficial.
- What kind of collaboration can I expect as a System Software Engineer at NVIDIA?
- As a System Software Engineer at NVIDIA, you will collaborate with world-class engineering teams across hardware and software, including teams located globally. Effective communication is key to defining, designing, and developing simulation features.
- Does NVIDIA prefer candidates with specific hardware simulation tool experience for the GPU Simulation role?
- While not strictly required, experience with building hardware simulators like QEMU, KVM, or VDK, as well as experience in hardware and software stack bringup using simulators and emulators, can significantly strengthen your application for the System Software Engineer GPU Simulation position.
- What is the educational background expected for this role at NVIDIA?
- NVIDIA typically looks for candidates with a Bachelor of Engineering (BE) degree or higher in Computer Science or a related field for the System Software Engineer role. At least 2 years of relevant experience is also required.