Senior Systems Software Engineer, Data Center - CUDA
NVIDIA
NVIDIA is searching for outstanding software engineers to join the CUDA driver team. This team develops and supports NVIDIA's GPU administration tools for monitoring and orchestrating our Compute GPU product line-up. The NVIDIA Data Center product line-up scales from single GPU add-in cards to full system DGX products, all built on developing technologies like PCI Express, NVLink, and NVSwitch. This work includes design, development, verification, and maintenance of new software features that monitor and run the Compute product line-up on Windows and Linux Operating Systems. In this role, you will work with hardware and kernel driver engineers on exposing new GPU features to customers and system administrators.
What you'll be doing:
Work on System and Device Monitoring/Management Tools for our Compute Professional Solutions products!
Leverage the C-based NVML (NVIDIA Management Library) API, NVIDIA-SMI (NVIDIA System Management Interface), and C++ Device Monitoring libraries and tools!
Effectively write maintainable and well-tested code as well as develop code for multiple operating systems.
Coordinate and drive development efforts across multiple teams defining forward-looking improvements.
Develop and maintain software features targeted at enabling and supporting NVIDIA GPU hardware.
Impact both current and upcoming Linux and Windows based operating systems, ensuring the best performance and feature set and cross platform implementation.
Support new hardware architectures for both pre-silicon and post-silicon.
Work with other internal worldwide teams (software, hardware, architecture, OEM support).
Collaborate with customers on understanding needs and defining feature requirements, as well as communicate new features and solutions.
What we need to see:
B.S. or M.S. in Computer Science, Computer Engineering, or Electrical Engineering (or equivalent experience).
6+ years of "hands on" experience developing or maintaining user space library and tools, especially for the Linux OS.
Programming skills in C, C++ and Python required
Experience with kernel device drivers, kernel development and debugging or working with low-level hardware and software interfaces.
Experience working with device monitoring tools is a plus
Strong English written and oral communication skills to collaborate with other specialists or teams globally (worldwide).
Windows operating systems experience
You will also be eligible for equity and benefits. NVIDIA accepts applications on an ongoing basis.