CUDA Compute Systems Software Engineer

Posted:
7/1/2024, 5:00:00 PM

Location(s):
California, United States

Experience Level(s):
Junior

Field(s):
Software Engineering

NVIDIA is searching for world-class software engineers to join the System Software for CUDA Compute driver team. This team develops and supports NVIDIA's kernel level drivers for supporting CUDA, especially on our AI, Cloud and Data Center product line-ups. This product line-up includes full system products such as the DGX platform, modular components such as MGX and stand-alone GPU boards. At the heart of all these products is the GPU itself, driven by low level embedded processors and drivers at kernel level, where this team lives.

We are a very dynamic team with many responsibilities working with sister software teams on developing features for upcoming generations of products, as well as with partners on deploying new products, maintaining existing products, and developing requested improvements. We work with hardware and architecture on the future direction of existing and new features. These responsibilities evolve over time, resulting in a rich engineering experience and career.

What you will be doing

As a Compute Systems Software Engineer at NVIDIA, you will work on software design for the next generation Compute GPU solutions

  • Designing kernel drivers and embedded software for our Data Center products

  • Developing and maintaining SW technologies targeted at enabling and supporting NVIDIA's GPU hardware on both Linux and Windows based operating systems (current and future) insuring optimum performance and feature set

  • Focusing on cross platform implementation and supporting new HW architectures Including, but not limited to, features such as: clocks, thermal and power, telemetry, device initialization, memory management, performance optimization, device management (and reset) as well as embedded software development

  • This role works closely with other internal worldwide teams around software, hardware, architecture, OEM support

What we need to see:

  • B.S. or M.S. in Computer Science, Computer Engineering, or Electrical Engineering or equivalent experience.

  • 2 years "hands on" experience developing low level device drivers, especially for the Linux OS

  • Strong software engineering skills combined with a motivation to solve hard problems are a must.

  • Strong programming skills in C and C++.

  • Detailed knowledge of operating system internals and various device driver models.

  • Low-level operating system knowledge

  • Strong English written and oral communication skills to streamline collaboration with other engineers (worldwide)

  • Self motivated , positive attitude, and ability to thrive in team environment yet also must be able to work independently with minimal direction

The base salary range is 120,000 USD - 189,750 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.