Senior System Software Engineer - GPU Power Management
Overview:
Join NVIDIA's GPU Performance and Power Management Software team to architect and deliver production software for P-states and DVFS across data-center GPUs. You will bridge hardware, firmware, drivers, and OS layers to optimize performance, power, and thermals under demanding workloads. Own the full product lifecycle from architecture to deployment, influencing next-generation processor power-management capabilities. This role offers a chance to impact energy efficiency and reliability at scale in a leading AI computing company. Compensation / Benefitsequitybenefitsremote optionscompetitive compensationglobal teamworkcareer growth
Responsibilities:
- Architect, build, and debug GPU power- and performance-management software with emphasis on P-state management and DVFSDevelop real-time controllers and policies to optimize performance, power, and thermals for data-center workloads
- Lead end-to-end features across requirements, architecture, pre-silicon validation, silicon bring-up, productization, and production support
- Collaborate with GPU architects and hardware designers to define hardware-software interfaces
- Analyze interactions among workloads, clocks, voltages, power limits, thermals, telemetry, and policies
- Lead investigations of complex power, performance, stability, and reliability issues across firmware, drivers, hardware, and platform software
- Develop validation strategies and automation for functional correctness, latency, performance-per-watt, and robustness
- Create architecture, interface, and specification documents for new power-management features
- Partner with distributed teams across architecture, ASIC, firmware, driver, validation, platform, and data-center systems
Key requirements:
- BS or MS degree in Computer Science, Computer Engineering, Electrical Engineering, or related field, or equivalent experience 12+ years in system software, embedded firmware, device drivers, or hardware-related production software
- Strong C programming skills for low-level software development
- Deep understanding of OS fundamentals, device-driver architecture, embedded/real-time software, concurrency, interrupts, and hardware programming
- Experience interpreting hardware specs and developing software interfaces for registers, telemetry, interrupts, and control mechanisms
- Strong understanding of computer architecture and hardware-software interactions
- Proven ability to independently debug complex problems across software and hardware layers
Excellent written and verbal communication with cross-organizational collaborationexcellent written and verbal communicationability to work across organizational and geographic boundariesproblem-solving mindsetC programming (low-level)OS fundamentals and device-driver architectureembedded or real-time software