kubernetes-sigs/dra-driver-nvidia-gpu

DRA Driver for NVIDIA GPUs

What it solves

This project provides a way to flexibly allocate and configure NVIDIA GPUs within Kubernetes clusters using the Dynamic Resource Allocation (DRA) framework. It addresses the need for more powerful GPU management, such as dynamic reconfiguration and the orchestration of secure, multi-node NVLink (MNNVL) connectivity for high-performance AI workloads.

How it works

The driver consists of two primary kubelet plugins that manage different resource types:

  • ComputeDomains: This plugin manages abstractions that guarantee secure, isolated reachability between pods using Multi-Node NVLink, ensuring that workloads can communicate efficiently across nodes.
  • GPUs: This plugin handles the allocation of GPU devices, enabling features like the dynamic allocation of Multi-Instance GPU (MIG) devices.

Who it’s for

It is designed for Kubernetes administrators and AI infrastructure engineers who need to manage specialized NVIDIA hardware for large-scale AI training or inference, particularly those using NVIDIA GB200 systems or requiring multi-node GPU communication.

Highlights

  • Multi-Node NVLink Support: Orchestrates secure and robust connectivity between pods across different nodes.
  • Dynamic Resource Allocation: Leverages the Kubernetes DRA framework to move resource configuration into the hands of 3rd-party vendors.
  • Flexible GPU Sharing: Supports sharing a single GPU across multiple containers within the same pod.
  • Ephemeral ComputeDomains: Creates isolated communication domains that exist only for the lifetime of the consuming workload.

Related

  • Project
  • Project
  • Project
  • Project
  • Project