Principal CPU Software Runtime Architect



Santa Clara, CA, USA
Posted on Thursday, November 2, 2023

NVIDIA is seeking a motivated senior system software engineer to work with a CPU software/architecture team co-designing hardware/software systems. This CPU software/architecture team creates new, innovative products tailored to NVIDIA’s world-changing solutions for servers, autonomous vehicles, AI, gaming, and mobile systems.

What you’ll be doing:

  • Work as part of NVIDIA's CPU architecture team to design and implement hardware and software improvements to future NVIDIA processors.

  • Analyze interactions between software, optimization algorithms, and low-level hardware implementation details.

  • Prototype, analyze, recommend, and implement co-designed software solutions via extensions of hardware models and microcode software to improve current and future NVIDIA platforms.

What we need to see:

  • M.S. Degree or equivalent experience in CS or ECE or related with 15+ years of relevant experience.

  • Strong knowledge of computer architecture fundamentals, including solid understanding of performance bottlenecks of modern CPUs

  • Strong knowledge of compiler theory and internals, and JIT runtime internals

  • Prior experience designing and building complex software systems

  • Good understanding of operating system internals (Linux or Windows)

  • Experience designing and debugging multi-threaded and multi-process systems.

  • Your work should display a real passion for low-level system details down to the microcode level and hardware specification.

  • Programming fluency and extensive experience working in C or C++ and Assembly languages.

  • Practical experience in performance analysis and performance improvements/recommendations based on its results.

  • Strong communication skills are required along with the ability to work in a dynamic product-oriented team.

Ways to stand out from the crowd:

  • Prior work on a dynamic or profile-driven optimizing system

  • Prior experience on system optimizing or manipulating binaries while preserving ISA semantics.

  • Familiarity with details of the ARM and x86 architectures.

  • Demonstrated architectural and software work at the hardware/software boundary.

  • Prior work on functional and/or performance simulation or their extensions (such as simulation of experimental features) and understanding of computer security as it relates to the ARM or x86 Architecture.

Do you desire to be a part of a team of talented engineers developing ground-breaking CPU architectures and system software from specification through implementation? Are you motivated to solve complex problems while optimizing performance, area, complexity, and power? If so, our CPU system software team is looking for you. With competitive salaries and a generous benefits package, NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us and, due to unprecedented market opportunities, our best-in-class engineering teams are rapidly growing. If you're a creative and autonomous engineer with a real passion for computer architecture and technology, we want to hear from you!

The base salary range is 268,000 USD - 414,000 USD. Your base salary will be determined based on your location, experience, and the pay of employees in similar positions.

You will also be eligible for equity and benefits. NVIDIA accepts applications on an ongoing basis.

NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.