API support for the Multi-Instance GPU (MIG)
APIs that support the MIG feature.
Two new services are created and supported for this feature.
configconfig-api
Read APIs
POST /api/v1/config/describeMigClusterSettings
Describe cluster-wide Nvidia MIG settings.
- Description: Returns the Multi-Instance GPU (MIG) strategy and MIG profiles ConfigMap name, defined in the GPU Operator ClusterPolicy. Unset fields are returned as empty strings when the ClusterPolicy exists.
- Right:
config/describeMigClusterSettings - Example input:
{} - Example response:
{"migStrategy":"mixed","migProfilesConfigMap":"cdp-mig-profiles"}
POST /api/v1/config/listMigCapableNodeNames
List MIG-capable nodes.
- Description: Lists all node names that have MIG-capable GPUs, such as HGX nodes.
- Right:
config/listMigCapableNodeNames - Example input:
{} - Example response:
{ "nodeNames": [ "ecs-sxm-0631.ecs.mc.comops.rocks", "ecs-sxm-0633.ecs.mc.comops.rocks" ] }
POST /api/v1/config/listMigNodeDetails
List MIG node details.
- Description: Lists detailed MIG inventory for the requested nodes, or all MIG-capable nodes if the input node list is empty. Requests containing unknown or non-MIG-capable node names return HTTP 200 with error details on those specific node objects. The entire call fails only for cluster-level errors, such as inability to list nodes.
- Right:
config/listMigNodeDetails - Example input:
{"nodes":["ecs-sxm-0631.ecs.mc.comops.rocks","ecs-sxm-0633.ecs.mc.comops.rocks"]} - Example response:
{ "nodes": [ { "name": "ecs-sxm-0631.ecs.mc.comops.rocks", "appliedProfile": { "name": "cdp-0c431696", "state": "success", "slices": [ { "gpuIndex": 0, "slice": { "size": "1g.20gb", "count": 4 } }, { "gpuIndex": 1, "slice": { "size": "2g.20gb", "count": 3 } }, { "gpuIndex": 2, "slice": { "size": "3g.40gb", "count": 2 } }, { "gpuIndex": 3, "slice": { "size": "1g.10gb", "count": 3 } }, { "gpuIndex": 3, "slice": { "size": "4g.40gb", "count": 1 } }, { "gpuIndex": 4, "slice": { "size": "2g.20gb", "count": 1 } }, { "gpuIndex": 4, "slice": { "size": "1g.20gb", "count": 1 } }, { "gpuIndex": 4, "slice": { "size": "1g.10gb", "count": 1 } }, { "gpuIndex": 5, "slice": { "size": "1g.10gb", "count": 1 } }, { "gpuIndex": 5, "slice": { "size": "2g.20gb", "count": 1 } }, { "gpuIndex": 5, "slice": { "size": "3g.40gb", "count": 1 } }, { "gpuIndex": 5, "slice": { "size": "1g.10gb+me", "count": 1 } } ] }, "availableSlices": [ { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "1g.10gb", "count": 7 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "1g.10gb+me", "count": 1 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "1g.20gb", "count": 4 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "2g.20gb", "count": 3 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "3g.40gb", "count": 2 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "4g.40gb", "count": 1 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "7g.80gb", "count": 1 } } ], "errors": [], "gpus": [ { "gpuIndex": 0, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-4d40c852-2779-7071-e53e-19b907692111" }, { "gpuIndex": 1, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-788ceb31-bcde-eb50-7ac2-07862c5b9970" }, { "gpuIndex": 2, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-4a878356-b30d-efcc-24b3-f4475cd1b671" }, { "gpuIndex": 3, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-8e65736b-5df6-4e47-40ad-15efab6a10b3" }, { "gpuIndex": 4, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-5a07dfe6-b3d1-4ecc-491b-848b8713c365" }, { "gpuIndex": 5, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-67cb5a19-0abc-57e2-527e-c0a1caee841f" }, { "gpuIndex": 6, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-4afba924-6414-dcf1-98f1-54dd0111f39a" }, { "gpuIndex": 7, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-4db81d0b-d1bf-af8f-dc02-9d37a9299fdd" } ], "gpuProductLabels": { "nvidia.com/mig-1g.20gb.product": "NVIDIA-H100-80GB-HBM3-MIG-1g.20gb", "nvidia.com/mig-4g.40gb.product": "NVIDIA-H100-80GB-HBM3-MIG-4g.40gb", "nvidia.com/gpu.product": "NVIDIA-H100-80GB-HBM3", "nvidia.com/mig-3g.40gb.product": "NVIDIA-H100-80GB-HBM3-MIG-3g.40gb", "nvidia.com/mig-1g.10gb.me.product": "NVIDIA-H100-80GB-HBM3-MIG-1g.10gb.me", "nvidia.com/mig-2g.20gb.product": "NVIDIA-H100-80GB-HBM3-MIG-2g.20gb", "nvidia.com/mig-1g.10gb.product": "NVIDIA-H100-80GB-HBM3-MIG-1g.10gb" } }, { "name": "ecs-sxm-0633.ecs.mc.comops.rocks", "appliedProfile": { "name": "cdp-03912a68", "state": "success", "slices": [ { "gpuIndex": 0, "slice": { "size": "4g.40gb", "count": 1 } }, { "gpuIndex": 0, "slice": { "size": "3g.40gb", "count": 1 } }, { "gpuIndex": 1, "slice": { "size": "4g.40gb", "count": 1 } }, { "gpuIndex": 1, "slice": { "size": "3g.40gb", "count": 1 } }, { "gpuIndex": 2, "slice": { "size": "4g.40gb", "count": 1 } }, { "gpuIndex": 2, "slice": { "size": "3g.40gb", "count": 1 } }, { "gpuIndex": 3, "slice": { "size": "4g.40gb", "count": 1 } }, { "gpuIndex": 3, "slice": { "size": "3g.40gb", "count": 1 } }, { "gpuIndex": 4, "slice": { "size": "4g.40gb", "count": 1 } }, { "gpuIndex": 4, "slice": { "size": "3g.40gb", "count": 1 } }, { "gpuIndex": 5, "slice": { "size": "4g.40gb", "count": 1 } }, { "gpuIndex": 5, "slice": { "size": "3g.40gb", "count": 1 } }, { "gpuIndex": 6, "slice": { "size": "4g.40gb", "count": 1 } }, { "gpuIndex": 6, "slice": { "size": "3g.40gb", "count": 1 } }, { "gpuIndex": 7, "slice": { "size": "4g.40gb", "count": 1 } }, { "gpuIndex": 7, "slice": { "size": "3g.40gb", "count": 1 } } ] }, "availableSlices": [ { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "1g.10gb", "count": 7 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "1g.10gb+me", "count": 1 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "1g.20gb", "count": 4 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "2g.20gb", "count": 3 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "3g.40gb", "count": 2 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "4g.40gb", "count": 1 } }, { "availableOnGpuIndices": [ 0, 1, 2, 3, 4, 5, 6, 7 ], "slice": { "size": "7g.80gb", "count": 1 } } ], "errors": [], "gpus": [ { "gpuIndex": 0, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-5a61d619-287c-0786-6fc0-1e51930e5812" }, { "gpuIndex": 1, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-6a09ddb0-e0ac-9072-d892-34c5fe1e52b4" }, { "gpuIndex": 2, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-c067fb97-2dd7-0642-f2a7-78ea17323265" }, { "gpuIndex": 3, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-aab83db8-2110-c274-993b-9136c1a391c5" }, { "gpuIndex": 4, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-2c06ab8f-e69b-d5a1-bfbb-10f75cd0b774" }, { "gpuIndex": 5, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-f0554c20-5a8e-6115-2e28-d2a7d209a230" }, { "gpuIndex": 6, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-4c643312-3bb2-7772-b2c7-cf6a5a305dcf" }, { "gpuIndex": 7, "name": "NVIDIA H100 80GB HBM3", "uuid": "GPU-976d2e7f-c223-66a3-3c51-8c9b135ea5b4" } ], "gpuProductLabels": { "nvidia.com/mig-4g.40gb.product": "NVIDIA-H100-80GB-HBM3-MIG-4g.40gb", "nvidia.com/gpu.product": "NVIDIA-H100-80GB-HBM3", "nvidia.com/mig-3g.40gb.product": "NVIDIA-H100-80GB-HBM3-MIG-3g.40gb" } } ] }
POST /api/v1/config/describeMigApplyWorkflow
Describe the current or most recent MIG apply backend workflow.
- Description: Returns the status of an ongoing MIG apply workflow or, when idle, the details of the most recent completed run — including per-node phases and execution results.
- Right:
config/describeMigApplyWorkflow - Example input:
{} - Example response:
{ "workflowId": "9866ba80-6cf6-4919-a2d8-87d4fa057d13", "workflowType": "PROFILE_ONLY", "targetStrategy": "mixed", "running": false, "startedAt": "2026-08-18T22:46:24.520747766Z", "completedAt": "2026-08-18T22:54:46.365941614Z", "overallStatus": "SUCCESS", "nodes": [ { "nodeName": "ecs-sxm-0633.ecs.mc.comops.rocks", "phase": "COMPLETED", "profileName": "cdp-03912a68", "state": "success" }, { "nodeName": "ecs-sxm-0631.ecs.mc.comops.rocks", "phase": "COMPLETED", "profileName": "cdp-0c431696", "state": "success" } ] }
Save MIG API
POST /api/v1/config/applyMigConfig
Save and validate a MIG configuration for cluster nodes.
- Description: Validates the requested MIG strategy and per-node slices, then
reconfigures the affected nodes via custom mig-parted configs. Nodes whose configuration is
unchanged may be omitted. Returns immediately with
IN_PROGRESS; polldescribeMigApplyWorkflowfor per-node progress. - Right:
config/applyMigConfig - Example
input:
{ "strategy": "mixed", "batchSize": 0, "nodes": [ { "nodeName": "ecs-axm-0631.ecs.mc.comops.rocks", "gpus": [ { "gpuIndex": 0, "slices": [{ "size": "1g.20gb", "count": 4 }] }, { "gpuIndex": 1, "slices": [{ "size": "2g.20gb", "count": 3 }] }, { "gpuIndex": 2, "slices": [{ "size": "3g.40gb", "count": 2 }] }, { "gpuIndex": 3, "slices": [ { "size": "1g.10gb", "count": 3 }, { "size": "4g.40gb", "count": 1 } ] }, { "gpuIndex": 4, "slices": [ { "size": "2g.20gb", "count": 1 }, { "size": "1g.20gb", "count": 1 }, { "size": "1g.10gb", "count": 1 } ] }, { "gpuIndex": 5, "slices": [ { "size": "1g.10gb", "count": 1 }, { "size": "2g.20gb", "count": 1 }, { "size": "3g.40gb", "count": 1 }, { "size": "1g.10gb+me", "count": 1 } ] }, { "gpuIndex": 6, "slices": [] }, { "gpuIndex": 7, "slices": [] } ] }, { "nodeName": "ecs-axm-0633.ecs.mc.comops.rocks", "gpus": [ { "gpuIndex": 0, "slices": [ { "size": "4g.40gb", "count": 1 }, { "size": "3g.40gb", "count": 1 } ] }, { "gpuIndex": 1, "slices": [ { "size": "4g.40gb", "count": 1 }, { "size": "3g.40gb", "count": 1 } ] }, { "gpuIndex": 2, "slices": [ { "size": "4g.40gb", "count": 1 }, { "size": "2g.40gb", "count": 1 } ] }, { "gpuIndex": 3, "slices": [ { "size": "4g.40gb", "count": 1 }, { "size": "3g.40gb", "count": 1 } ] }, { "gpuIndex": 4, "slices": [ { "size": "4g.40gb", "count": 1 }, { "size": "3g.40gb", "count": 1 } ] }, { "gpuIndex": 5, "slices": [ { "size": "4g.40gb", "count": 1 }, { "size": "3g.40gb", "count": 1 } ] }, { "gpuIndex": 6, "slices": [ { "size": "4g.40gb", "count": 1 }, { "size": "3g.40gb", "count": 1 } ] }, { "gpuIndex": 7, "slices": [ { "size": "4g.40gb", "count": 1 }, { "size": "3g.40gb", "count": 1 } ] } ] } ] } - Example response:
{ "status": "IN_PROGRESS", "message": "MIG reconfiguration accepted and is being applied. Poll describeMigApplyWorkflow for workflow progress." }
