Feature gates

Available feature gates, their stages, defaults, and constraints.

Feature gates control experimental and beta functionality in the DRA Driver for NVIDIA GPUs. They follow Kubernetes feature gate conventions.

Set feature gates

Set feature gates in your Helm values file:

featureGates:
  TimeSlicingSettings: true
  MPSSupport: true

Or pass them at install time:

helm install dra-driver-nvidia-gpu oci://registry.k8s.io/dra-driver-nvidia/charts/dra-driver-nvidia-gpu \
    --version 0.5.0 \
    --namespace dra-driver-nvidia-gpu \
    --set "featureGates.TimeSlicingSettings=true"

Available feature gates

The Kubernetes column identifies additional Kubernetes version or Kubernetes feature gate requirements beyond the baseline versions in Prerequisites.

Feature gateStageDefaultKubernetesDescription
TimeSlicingSettingsAlphafalseNo requirements.Enables customization of CUDA time-slicing settings in GpuConfig.
MPSSupportAlphafalseNo requirements.Enables Multi-Process Service (MPS) sharing strategy in GpuConfig and MigDeviceConfig.
IMEXDaemonsWithDNSNamesBetatrueNo requirements.IMEX daemons use DNS names instead of raw IP addresses for peer communication. Required by ComputeDomainCliques.
PassthroughSupportAlphafalseNo requirements.Enables VFIO passthrough device allocation using VfioDeviceConfig.
DynamicMIGAlphafalsev1.34 through v1.35 requires DRAPartitionableDevices=true on the kube-apiserver and kube-scheduler. v1.36 and later enables DRAPartitionableDevices by default. See Kubernetes feature gates.Enables dynamic MIG device allocation and reconfiguration. See MIG.
NVMLDeviceHealthCheckAlphafalseNo requirements.Enables GPU health checking using NVML.
ComputeDomainCliquesBetatrueNo requirements.Uses ComputeDomainClique CRD objects to track IMEX daemon membership. Requires IMEXDaemonsWithDNSNames.
CrashOnNVLinkFabricErrorsBetatrueNo requirements.Causes the kubelet plugin to crash rather than fall back to non-fabric mode when NVLink fabric errors are detected.
DeviceMetadataAlphafalseNo requirements.Enables IOMMU API device exposure, such as /dev/iommu or /dev/vfio/vfio, for VFIO workloads with VfioDeviceConfig. Requires PassthroughSupport.
FabricManagerPartitioningAlphafalseNo requirements.Enables Fabric Manager partition discovery and lifecycle management for full GPUs and VFIO devices on supported HGX and single-node NVL systems. VFIO devices require PassthroughSupport. Requires Fabric Manager with FABRIC_MODE=1. Each full-GPU or VFIO claim on a participating node must exactly match one published partition. See Fabric Manager partitioning.
HostManagedIMEXDaemonAlphafalseNo requirements.Allows resources.computeDomains.imex.mode=hostManaged, where you manage the host nvidia-imex service instead of the DRA Driver creating per-ComputeDomain daemon DaemonSets. This gate only unlocks the mode. Driver-managed DNS daemon naming and ComputeDomainClique tracking are not used in this mode. See Validate host-managed IMEX.
DRAListTypeAttributesAlphafalsev1.36 or later with DRAListTypeAttributes=true on the kube-apiserver and kube-scheduler.Publishes list-valued DRA device attributes, including resource.kubernetes.io/numaNode as a one-element list. See NUMA locality.
ConsumableSharesAlphafalsev1.34 through v1.35 requires DRAConsumableCapacity=true on the kube-apiserver, kube-controller-manager, kube-scheduler, and kubelet; v1.36 and later enables DRAConsumableCapacity by default; see Kubernetes consumable capacity.Implements Kubernetes DRA consumable capacity for full GPUs and MIG devices by publishing them as multi-allocatable and defining their capacity request policies; also set the consumableShares Helm value to select an accounting mode; see Consumable capacity.

Constraints

The following feature gate combinations are mutually exclusive and cannot be enabled together.

CombinationReason
DynamicMIG + PassthroughSupportMutually exclusive
DynamicMIG + MPSSupportMutually exclusive
PassthroughSupport + NVMLDeviceHealthCheckMutually exclusive

The feature gates below have the following dependencies:

Feature gateRequires
ComputeDomainCliquesIMEXDaemonsWithDNSNames
DeviceMetadataPassthroughSupport