From e05d73a2c2b038187a8f11801dfceeb246dbeabf Mon Sep 17 00:00:00 2001 From: Mike McKiernan Date: Tue, 27 Oct 2026 18:16:15 +0000 Subject: [PATCH 1/4] docs(gpu-operator): Correct single and mixed MIG strategy definitions Signed-off-by: Mike McKiernan Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- gpu-operator/gpu-operator-mig.rst | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/gpu-operator/gpu-operator-mig.rst b/gpu-operator/gpu-operator-mig.rst index 7d8ee8f24..1d05e7a1d 100644 --- a/gpu-operator/gpu-operator-mig.rst +++ b/gpu-operator/gpu-operator-mig.rst @@ -57,10 +57,22 @@ Use the following steps to enable MIG and deploy MIG Manager. This example sets ``single`` as the MIG strategy. + + The MIG strategy controls how the device plugin and GPU Feature Discovery present MIG devices to Kubernetes. + The MIG strategy does not enable MIG mode. + MIG Manager enables MIG mode and creates MIG devices when you apply a MIG configuration. Available MIG strategy options: - * ``single``: MIG mode is enabled on all GPUs on a node. - * ``mixed``: MIG mode is not enabled on all GPUs on a node. + * ``single``: The device plugin exposes each MIG device as an ``nvidia.com/gpu`` resource. + Every GPU on the node must have MIG mode enabled, and every MIG device on the node must use the same MIG profile on the same GPU model. + If the node does not meet these requirements, the device plugin reports an invalid MIG configuration and GPU Feature Discovery sets the ``nvidia.com/gpu.product`` label to ``-MIG-INVALID``. + * ``mixed``: The device plugin exposes each MIG device as a resource for the MIG profile, such as ``nvidia.com/mig-1g.10gb``. + The device plugin exposes each GPU with MIG mode disabled as an ``nvidia.com/gpu`` resource. + Use this strategy when the node uses more than one MIG profile or when some GPUs on the node have MIG mode disabled. + + For more information about the resource names and labels for each strategy, refer to the + `MIG_STRATEGY `__ + option in the NVIDIA Kubernetes Device Plugin repository on GitHub. In a cloud service provider (CSP) environment such as Google Cloud, also specify ``--set migManager.env[0].name=WITH_REBOOT --set-string migManager.env[0].value=true`` @@ -117,7 +129,7 @@ The ConfigMap is named ``-mig-config``, where ```` is the Each ConfigMap contains a complete mig-parted config, including ``all-disabled``, ``all-enabled``, per-profile configs such as ``all-1g.10gb``, and ``all-balanced`` with device-filter support for mixed GPU types. When a new MIG-capable GPU is added to a node, the new GPU is automatically added to the ConfigMap. -If you need custom profiles, you can use a custom MIG configuration instead of the generated one. +If you need custom profiles, you can use a custom MIG configuration instead of the generated one. You can use the Helm chart to create a ConfigMap from values at install time, or create and reference your own ConfigMap. For an example, refer to :ref:`dynamically-creating-the-mig-configuration-configmap`. @@ -342,9 +354,9 @@ The following steps show how to update a GPU on a node to the ``3g.40gb`` profil Example: Custom MIG Configuration During Installation ===================================================== -If you need to use custom profiles, you can create a custom ConfigMap during installation by passing in a name and data for the ConfigMap with the Helm command. +If you need to use custom profiles, you can create a custom ConfigMap during installation by passing in a name and data for the ConfigMap with the Helm command. -The MIG Manager daemonset is configured to use this ConfigMap instead of the auto-generated one. +The MIG Manager daemonset is configured to use this ConfigMap instead of the auto-generated one. In your values.yaml file, set ``migManager.config.create`` to ``true``, set ``migManager.config.name``, and add the ConfigMap data under ``migManager.config.data``, for example: From 49a0c88554bc1725d77172fd240137bad99557be Mon Sep 17 00:00:00 2001 From: Mike McKiernan Date: Tue, 27 Oct 2026 18:44:38 +0000 Subject: [PATCH 2/4] docs(gpu-operator): Clarify when custom MIG configurations need the mixed strategy Signed-off-by: Mike McKiernan Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- gpu-operator/gpu-operator-mig.rst | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gpu-operator/gpu-operator-mig.rst b/gpu-operator/gpu-operator-mig.rst index 1d05e7a1d..8432eeee7 100644 --- a/gpu-operator/gpu-operator-mig.rst +++ b/gpu-operator/gpu-operator-mig.rst @@ -365,6 +365,8 @@ In your values.yaml file, set ``migManager.config.create`` to ``true``, set ``mi .. literalinclude:: manifests/input/mig-cm-values.yaml :language: yaml + The ``custom-mig`` configuration leaves MIG mode disabled on GPU 0 and uses more than one MIG profile on GPUs 1 to 3. + .. note:: Custom ConfigMaps must contain a key named "config.yaml" @@ -376,7 +378,7 @@ In your values.yaml file, set ``migManager.config.create`` to ``true``, set ``mi nvidia/gpu-operator --version=${version} \ -f values.yaml -#. If the custom configuration specifies more than one instance profile, set the strategy to ``mixed``: +#. If the custom configuration uses more than one MIG profile or leaves MIG mode disabled on any GPU, set the strategy to ``mixed``: .. code-block:: console @@ -384,6 +386,8 @@ In your values.yaml file, set ``migManager.config.create`` to ``true``, set ``mi --type='json' \ -p='[{"op":"replace", "path":"/spec/mig/strategy", "value":"mixed"}]' + The ``single`` strategy supports only a configuration that enables MIG mode on every GPU and uses a single MIG profile. + #. Label the nodes with the profile to configure: .. code-block:: console @@ -446,7 +450,7 @@ You can create and apply a ConfigMap yourself if the default profiles do not mee $ kubectl apply -n gpu-operator -f custom-mig-config.yaml -#. If the custom configuration specifies more than one instance profile, set the strategy to ``mixed``: +#. If the custom configuration uses more than one MIG profile or leaves MIG mode disabled on any GPU, set the strategy to ``mixed``: .. code-block:: console @@ -454,6 +458,8 @@ You can create and apply a ConfigMap yourself if the default profiles do not mee --type='json' \ -p='[{"op":"replace", "path":"/spec/mig/strategy", "value":"mixed"}]' + The ``single`` strategy supports only a configuration that enables MIG mode on every GPU and uses a single MIG profile. + #. Patch the cluster policy so MIG Manager uses the custom ConfigMap: .. code-block:: console From 3d65e4be565532824d8a99a0116de49f758a5b2d Mon Sep 17 00:00:00 2001 From: Mike McKiernan Date: Wed, 28 Oct 2026 19:05:27 +0000 Subject: [PATCH 3/4] docs(gpu-operator): Note that single also supports MIG disabled on every GPU Signed-off-by: Mike McKiernan Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- gpu-operator/gpu-operator-mig.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gpu-operator/gpu-operator-mig.rst b/gpu-operator/gpu-operator-mig.rst index 8432eeee7..b4440d389 100644 --- a/gpu-operator/gpu-operator-mig.rst +++ b/gpu-operator/gpu-operator-mig.rst @@ -386,7 +386,7 @@ In your values.yaml file, set ``migManager.config.create`` to ``true``, set ``mi --type='json' \ -p='[{"op":"replace", "path":"/spec/mig/strategy", "value":"mixed"}]' - The ``single`` strategy supports only a configuration that enables MIG mode on every GPU and uses a single MIG profile. + The ``single`` strategy supports only a configuration that enables MIG mode on every GPU and uses a single MIG profile, or a configuration that disables MIG mode on every GPU. #. Label the nodes with the profile to configure: @@ -458,7 +458,7 @@ You can create and apply a ConfigMap yourself if the default profiles do not mee --type='json' \ -p='[{"op":"replace", "path":"/spec/mig/strategy", "value":"mixed"}]' - The ``single`` strategy supports only a configuration that enables MIG mode on every GPU and uses a single MIG profile. + The ``single`` strategy supports only a configuration that enables MIG mode on every GPU and uses a single MIG profile, or a configuration that disables MIG mode on every GPU. #. Patch the cluster policy so MIG Manager uses the custom ConfigMap: From 21ec336f4c76067989a303226ff5263885d645d4 Mon Sep 17 00:00:00 2001 From: Mike McKiernan Date: Thu, 29 Oct 2026 11:04:00 -0400 Subject: [PATCH 4/4] Apply suggestion from @rajathagasthya Co-authored-by: Rajath Agasthya --- gpu-operator/gpu-operator-mig.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gpu-operator/gpu-operator-mig.rst b/gpu-operator/gpu-operator-mig.rst index b4440d389..9a5701778 100644 --- a/gpu-operator/gpu-operator-mig.rst +++ b/gpu-operator/gpu-operator-mig.rst @@ -64,7 +64,7 @@ Use the following steps to enable MIG and deploy MIG Manager. Available MIG strategy options: * ``single``: The device plugin exposes each MIG device as an ``nvidia.com/gpu`` resource. - Every GPU on the node must have MIG mode enabled, and every MIG device on the node must use the same MIG profile on the same GPU model. + If MIG mode is enabled on any GPU on the node, MIG mode must be enabled on every GPU, every GPU must have at least one MIG device, and all MIG devices must use the same MIG profile. If the node does not meet these requirements, the device plugin reports an invalid MIG configuration and GPU Feature Discovery sets the ``nvidia.com/gpu.product`` label to ``-MIG-INVALID``. * ``mixed``: The device plugin exposes each MIG device as a resource for the MIG profile, such as ``nvidia.com/mig-1g.10gb``. The device plugin exposes each GPU with MIG mode disabled as an ``nvidia.com/gpu`` resource.