System Software Engineer – Simulation and Virtualization

NVIDIA NVIDIA · Semiconductors · Pune, India +4 · Remote

System Software Engineer role at NVIDIA focused on building simulators for DGX Server platforms. This involves contributing to the architecture and development of simulation platforms, integrating new hardware features, bringing up the full software stack on the simulator, and improving performance and fixing bugs. Requires strong C/C++ skills, experience with virtualization and hardware simulation technologies, and OS fundamentals.

What you'd actually do

  1. Contribute to architect and develop simulation platform for next gen NVIDIA Data Center platforms.
  2. Build, integrate and enhance simulator components with new HW features and write supporting technical documents.
  3. Bring full SW stack up on Data Center Simulator; work closely with hardware modeling, kernel & platform driver teams distributed globally.
  4. Improve performance, fix bugs across user and kernel stack, and automate execution flow.

Skills

Required

  • virtualization
  • HW simulation/emulation technologies
  • C / C++
  • software development
  • optimization
  • user & kernel mode debugging
  • OS fundamentals
  • system architecture
  • hypervisors
  • HW emulators
  • Linux distro

Nice to have

  • HW & SW stack bring up using Simulators & Emulators
  • hardware interfaces such as PCIe, SPI, I3C
  • Linux boot solutions on x86 & ARM
  • Out of Band and Inband management architectures
  • Qemu/KVM opensource repositories
  • Verilog
  • SystemC

What the JD emphasized

  • 5+ years of experience in virtualization and HW simulation/emulation technologies
  • Proficient in C / C++ with strong software development, optimization, user & kernel mode debugging skills
  • OS fundamentals and system architecture understanding like low-level interfaces such as buses, controllers, interrupts etc.
  • Good understanding of hypervisors & HW emulators, like Qemu, KVM, VDK, SIMICs etc.