Nvidia:MIG
lastmod 2026-08-12created 2026-08-122 edits
MIG (Multi-Instance GPU) is a technology that splits a single NVIDIA GPU into multiple independent GPUs at the hardware level. It was introduced with the Ampere generation (A100) and is supported on data center GPU lines such as H100 and B200.
How it differs from time-slicing
Compared with the time-slicing set up earlier in the device plugin, the difference is clear.
| - | Time-slicing | MIG |
| What is divided | Execution time only (context switching) | SMs, L2 cache, memory controllers, and memory, physically |
| Memory isolation | None — if one pod takes it all, the rest hit OOM | Yes — per-instance memory is fixed in hardware |
| Performance interference | Yes — if a neighboring pod hogs the GPU, my latency spikes | Almost none — QoS is guaranteed |
| Number of partitions | Arbitrary (just an advertised number) | Up to 7, in fixed profile units (e.g. 1g.10gb) |
| Prerequisites | Works on any GPU | Requires supported hardware + partitions configured in advance |
In other words, MIG is closer to "actually dividing it up," while time-slicing is closer to "letting them take turns." To run multiple instances safely in isolation, MIG is the answer, but the hardware has to support it.
Why it cannot be used on DGX Spark
The GB10 in Spark is a workstation-class Grace Blackwell chip, so it has no MIG partitioning feature. Even within the same Blackwell generation, the data center B200/GB200 have it and the GB10 does not; it is a feature that depends on the product line. That is why time-slicing was the only option, and memory isolation was given up in exchange — this is where the structure of 8 pods sharing 128 GB of unified memory on mutual trust comes from.
migStrategy: none in the config file
That line in the device plugin ConfigMap is directly tied to this. It takes three values.
- none — ignores MIG and advertises the whole GPU as a single nvidia.com/gpu (current setting)
- single — when all MIG instances have the same profile, advertises them as nvidia.com/gpu
- mixed — advertises each profile under its own resource name, such as nvidia.com/mig-1g.10gb
Spark has no MIG at all, so none is the only correct value.