GPU device passthrough is an experimental feature available in commercial Deckhouse Platform (DP) editions.

DP attaches physical GPU devices to virtual machines using DRA (Dynamic Resource Allocation). A project owner requests a device by a reference to a GPUClass in the .spec.gpus block of their machine, and you prepare the cluster for this.

To make passthrough work, provide the following:

  • Kubernetes 1.34 or later with the DRA feature gates required by your cluster configuration.
  • The GPU feature gate in the module settings.
  • The enabled gpu module in the DRA mode, which is set by the dra.enabled parameter.
  • A GPUClass resource that selects devices of the model you need. The gpu module creates a DeviceClass resource with the same name from it, and the device is allocated to a machine through that class.

To enable the feature gate, add it to the module settings:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: virtualization
spec:
  settings:
    featureGates:
      - GPU

After that, tell the project owners the names of the available GPUClass resources. A single machine takes no more than 16 devices, and a change to the .spec.gpus block applies only after the machine restarts.

Additional resources