Experience Inc. Jobs

Job Information

Nvidia Senior System Software Engineer in Santa Clara, California

NVIDIA is seeking a highly skilled and creative Senior System Software Engineer to join our memory management team as part of the kernel SW org. As a system software engineer, you will work with a team of very hardworking software and hardware engineers involving a wide variety of technologies for both upcoming GPUs and SOCs. The work you do will be an integral part of building platforms that power data centers and client computing systems across the globe. If you are passionate about computer architecture and eager to develop groundbreaking GPU/SOC architectures from specification through implementation, we want to hear from you!

What You Will Be Doing:

  • Develop SW architecture and micro-architecture to advance the state-of-the-art in GPU/SOC memory management, optimizing for performance, complexity, effort, and schedule.

  • Design and implement kernel drivers and embedded software for NVIDIA's products, ensuring optimal performance and feature set on Linux and Windows-based operating systems.

  • Participate in performance simulation and analysis to improve memory access efficiency and overall system performance.

  • Implement and maintain high-level functional and performance models, and debug performance and functional issues with high-level models, emulation and silicon bringup.

  • Work closely with global teams across software, hardware, architecture, and OEM support, contributing to the development of future products and features.

  • Create architectural specifications and customer-facing documents, collaborating with industry partners to ensure comprehensive specifications that account for software interfaces to the GPU.

What We Need to See:

  • Master’s degree in Electrical Engineering, Computer Science, Computer Engineering, or related field (or equivalent experience).

  • 8+ years of meaningful work experience in GPU or SOC Architecture and development, specifically in the area of SMMU, ATS, cache coherency

  • Strong expertise in low-level device drivers, operating system internals, and various device driver models.

  • Proficiency in C and C++ programming, with experience in solving complex problems and optimizing system performance.

  • Detailed knowledge of computer system architecture, including microprocessors, memory controllers, caches, buses, and DMA.

  • Strong communication and interpersonal skills, with a proven ability to work in a dynamic, product-oriented, distributed team environment.

Ways to Stand Out from the Crowd:

  • Experience with hardware memory management units, prefetching, memory coherency, and multi-core systems.

  • Deep understanding of SOC memory management, SMMU, ATS, cache coherency

  • Practical experience with Linux kernel development and contribution to the upstream community

  • Familiarity with system-level security concepts and embedded system software development.

  • A history of successfully mentoring junior engineers and interns, contributing to team growth and development.

The base salary range is 180,000 USD - 339,250 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 (https://www.nvidia.com/en-us/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.

DirectEmployers