Go back

What Is MIG? NVIDIA Multi-Instance GPU Explained

MIG stands for Multi-Instance GPU, an NVIDIA feature that splits one supported data-center GPU into up to seven isolated instances. Each instance acts like its own smaller GPU, with dedicated memory, cache, and compute cores. This lets several independent workloads share one physical card without competing for resources.

This guide covers what MIG is, how its isolation works, which GPUs support it, the available profile sizes, and the nvidia-smi commands to create and remove instances.

Key Takeaways

  • MIG partitions an NVIDIA GPU into up to seven isolated instances, each with dedicated memory and compute.
  • Only NVIDIA data-center GPUs from Ampere onward support MIG: the A100, A30, H100, H200, and B200.
  • MIG guarantees each instance's performance and fault isolation, unlike software sharing methods.
  • Skip MIG for single large training jobs or workloads needing NVLink between slices.

What Is Multi-Instance GPU (MIG)?

Multi-Instance GPU (MIG) partitions one large GPU into up to seven smaller, independent GPUs. NVIDIA built it to solve a specific problem: many workloads never use a full A100 or H100. A single job can leave most of an expensive card idle. MIG fills that idle capacity with other jobs while keeping each one isolated.

Isolation is the defining feature. Each MIG instance receives a fixed allocation that lasts as long as the instance exists. One instance saturating its memory cannot affect the throughput or latency of another. This differs from running several processes on a shared GPU, where they contend for bandwidth and compute.

This guaranteed quality of service is why MIG appears often in multi-tenant settings. Cloud providers, shared research clusters, and inference platforms use it for predictable performance on shared hardware. Each tenant also gets fault isolation.

How MIG Works

MIG carves up the GPU physically instead of scheduling access to it. That physical division separates it from software-based sharing and gives it hardware-level guarantees.

Spatial Partitioning and Hardware Isolation

MIG assigns distinct physical regions of the GPU to each instance. Every instance gets its own streaming multiprocessors (SMs) for compute. It also gets dedicated slices of the memory system. The crossbar ports, L2 cache banks, memory controllers, and DRAM address buses are assigned uniquely to one instance.

Because these paths do not overlap, workloads cannot interfere at the hardware level. Each instance sees consistent cache and memory bandwidth regardless of its neighbors. Hardware isolation is a stronger guarantee than time-based sharing, where all workloads draw from one shared pool.

GPU Instances vs. Compute Instances

MIG partitions at two levels: GPU instances and compute instances. A GPU instance is the top-level slice, bundling memory with compute resources, fully isolated from other GPU instances. Each GPU instance can have one or more compute instances to subdivide the compute while sharing that instance's memory.

Most use cases pair one GPU instance with a single matching compute instance. The -C flag creates that pairing automatically. Multiple compute instances help when several processes share one memory partition but need separate compute scheduling.

Which GPUs Support MIG

MIG runs only on NVIDIA data-center GPUs and was introduced with the Ampere architecture. Support is tied to the silicon and cannot be added through driver updates or permission changes.

Data-Center GPUs That Support MIG

The data-center GPUs below support MIG. Maximum instance count and smallest profile vary by model and driver version.

GPU Architecture Max MIG Instances Smallest Profile
A100 40GB Ampere 7 1g.5gb
A100 80GB Ampere 7 1g.10gb
A30 24GB Ampere 4 1g.6gb
H100 80GB Hopper 7 1g.10gb
H200 141GB Hopper 7 1g.18gb
B200 Blackwell 7 1g.23gb

Why the L40 and L40S Do Not Support MIG

The L40 and L40S do not support MIG, despite their Ada Lovelace architecture being newer than Ampere. This is because MIG is not a generational feature that each new architecture inherits. Instead, MIG depends on dedicated partitioning hardware that NVIDIA builds only into specific GPU lines, and Ada Lovelace omits that circuitry.

NVIDIA designed Ada Lovelace for a different job: AI inference combined with professional graphics and rendering. The L40 and L40S pair 48 GB of GDDR6 with RT Cores for that mixed workload, not multi-tenant compute slicing. On the L40 and L40S, NVIDIA's vGPU stack offers only time-sliced sharing, with no MIG-backed profiles.

MIG Profiles Explained (1g.10gb to 7g.80gb)

MIG profile names follows a pattern:

  • The digit before g is the instance size expressed as compute fractions in sevenths.
  • The number after is memory in gigabytes.

A 3g.40gb profile means three of seven compute slices with about 40 GB of shared memory.

The table below lists the profiles available on an A100 80GB and how many of each you can create. The profiles are mutually constrained: creating a large profile consumes slices that smaller ones would use.

Profile Profile ID Max Instances Memory per Instance
1g.10gb 19 7 ~9.5 GB
1g.10gb+me1 20 1 ~9.5 GB
1g.20gb 15 4 ~19.5 GB
2g.20gb 14 3 ~19.5 GB
3g.40gb 9 2 ~39 GB
4g.40gb 5 1 ~39 GB
7g.80gb 0 1 ~79 GB
1 The "+me" profile includes the GPU's media engines (extra decode, JPEG, and optical flow units), which is why only one can be created per GPU.

Matching a MIG Profile to Your Model

Pick a profile to match the memory footprint of a workload. A small quantized inference model fits comfortably in a 1g.10gb slice. One A100 80GB then hosts seven independent endpoints. A larger half-precision model may need a 2g.20gb or 3g.40gb slice.

You can also mix profiles instead of splitting evenly. One GPU might host a 3g.40gb instance alongside several 1g.10gb instances, as long as the slices fit. Run nvidia-smi mig -lgip on your GPU to list the exact profiles and IDs before choosing a layout.

How to Enable MIG With nvidia-smi

Enabling MIG requires root access and the ability to reset the GPU. It happens in three stages: enable MIG mode, create instances, then verify them. The commands assume GPU index 0. Stop any processes using the GPU first, or you will hit an "in use by another client" error.

Enable MIG Mode

Turn on MIG mode for the target GPU:

sudo nvidia-smi -i 0 -mig 1

If the driver reports the change as pending, reset the GPU or reboot before MIG mode takes effect:

sudo nvidia-smi -i 0 -r

After the reset, confirm the mode is active:

nvidia-smi -i 0 --query-gpu=name,mig.mode.current --format=csv

Create and List GPU Instances

After MIG mode is on, create GPU instances from your chosen profiles. This example creates seven equal 1g.10gb instances. The -C flag also creates the matching compute instance for each:

sudo nvidia-smi mig -cgi 1g.10gb,1g.10gb,1g.10gb,1g.10gb,1g.10gb,1g.10gb,1g.10gb -C -i 0

For a mixed layout, pass different profiles in one command:

sudo nvidia-smi mig -cgi 3g.40gb,2g.20gb,1g.10gb,1g.10gb -C -i 0

List the instances to confirm the layout:

nvidia-smi mig -lgi

Tear Down MIG Instances

To remove the partitions, destroy the compute instances first, then the GPU instances:

sudo nvidia-smi mig -dci -i 0
sudo nvidia-smi mig -dgi -i 0

Finally, disable MIG mode to return the card to a single unified GPU:

sudo nvidia-smi -i 0 -mig 0

MIG vs Time-Slicing vs MPS

MIG is one of three ways to share an NVIDIA GPU, and it offers the strongest isolation. Time-slicing and Multi-Process Service (MPS) are software methods that run on almost any GPU. MIG is a hardware method limited to data-center and RTX PRO Blackwell cards.

Dimension MIG Time-Slicing MPS
Isolation Hardware-level, dedicated memory and compute None, workloads share the whole GPU Limited, shared memory space
QoS guarantee Yes No No
Fault isolation Yes No No
Supported GPUs A100, A30, H100, H200, B200 Any NVIDIA GPU Any NVIDIA GPU
Best for Multi-tenant, isolated workloads Cheap oversubscription of one GPU Cooperative processes from one user

Common MIG Use Cases

MIG fits cases where one full GPU exceeds a single workload's needs. Multi-tenant inference is the clearest example. A 1g.10gb slice can host a small model endpoint, so one A100 serves up to seven isolated models. This stops a spiking tenant from degrading the others.

Shared development is another common case. A team can split one GPU so each engineer gets a dedicated slice for notebooks and experiments, instead of queuing for the whole card. Isolated experimentation benefits too, since each run gets fixed resources and stable results.

When Not to Use MIG

Skip MIG for a single large job that needs the whole GPU. Training a large model wants all the compute and memory on the card. Slicing it only shrinks the resources for that one workload. Run the GPU in its default unified mode instead.

MIG also does not suit workloads that need fast communication between slices. Instances are isolated and do not support peer-to-peer transfers or NVLink between one another. Jobs exchanging data on the GPU at high bandwidth should use a full GPU or a multi-GPU NVLink setup.

Reconfiguring a MIG layout requires tearing down existing instances. It is not meant for workloads that resize their allocation on the fly.

Last Thoughts on MIG

MIG turns one data-center GPU into up to seven isolated instances, each with dedicated memory, compute, and guaranteed performance. It runs on Ampere-and-newer data-center cards like the A100, A30, H100, H200, and B200, plus the newer RTX PRO Blackwell workstation line.

For shared hardware that needs hard isolation and predictable throughput, MIG beats time-slicing and MPS. Those software methods remain better for oversubscription or cooperative multi-process workloads on any GPU.

FAQ

What does MIG stand for?

MIG stands for Multi-Instance GPU. It is an NVIDIA feature that partitions one physical data-center GPU into multiple isolated instances, each with dedicated memory and compute cores.

Which NVIDIA GPUs support MIG?

MIG runs on NVIDIA data-center GPUs from Ampere onward: the A100, A30, H100, H200, and B200. Newer RTX PRO Blackwell workstation cards also support it, but consumer cards like the RTX 4090 and RTX 5090 do not.

Does the NVIDIA L40 or L40S support MIG?

No, the L40 and L40S do not support MIG. Their Ada Lovelace architecture lacks the partitioning hardware, even though it is newer than the Ampere A100. To share an L40S, use time-slicing or MPS (Multi-Process Service) instead.

What is the difference between MIG and time-slicing?

MIG gives each workload dedicated hardware with guaranteed performance and fault isolation. Time-slicing rotates workloads through the whole GPU on a schedule, with no isolation or guarantee, but works on any NVIDIA GPU.

Does MIG reduce GPU performance?

MIG does not slow down a workload. Each instance gets a fixed, dedicated slice of compute and memory. It raises overall utilization by running several workloads in parallel without interference.