GPU Virtualization

GPU Virtualization and Multi-Instance GPU (MIG) is the technology enabling a single physical GPU to be partitioned into multiple isolated instances — each with dedicated compute resources, memory, and memory bandwidth, allowing multiple users or workloads to share one GPU safely without interference, maximizing GPU utilization in cloud and enterprise environments.

Why GPU Virtualization?

  • Many workloads don't need a full GPU: Inference serving, Jupyter notebooks, small training jobs.
  • Without sharing: A user occupying an A100 at 10% utilization wastes 90% of a $10,000+ GPU.
  • With MIG: Split one A100 into 7 isolated instances → 7 users, each with guaranteed resources.

NVIDIA MIG (Multi-Instance GPU)

  • Available on: A100, A30, H100, H200 GPUs.
  • Partitions GPU into up to 7 instances (on A100/H100).
  • Each instance gets:
  • Dedicated SM (streaming multiprocessor) slices.
  • Dedicated memory and memory bandwidth.
  • Dedicated L2 cache partition.
  • Fault isolation (one instance's error doesn't crash others).

MIG Partition Profiles (A100 80GB)

ProfileGPU MemorySMsUse Case
1g.10gb10 GB14 SMsSmall inference
2g.20gb20 GB28 SMsMedium inference/training
3g.40gb40 GB42 SMsLarge inference
4g.40gb40 GB56 SMsMedium training
7g.80gb80 GB98 SMsFull GPU (no partition)

Other GPU Sharing Approaches

ApproachIsolationOverheadFlexibility
MIGHardware-enforcedNear zeroFixed profiles
vGPU (NVIDIA GRID)Driver-level5-15%Time-slicing
MPS (Multi-Process Service)SoftwareLowConcurrent kernels
Time-SlicingContext switching10-30%Any workload
Kubernetes GPU SharingOrchestrationVariesPod-level

vGPU (Virtual GPU)

  • NVIDIA GRID/vGPU: Hypervisor-based GPU virtualization.
  • GPU time-sliced between VMs — each VM sees a virtual GPU.
  • Used in: VDI (virtual desktops), cloud gaming, VMware/Citrix environments.
  • Overhead: 5-15% per VM due to context switching.

MPS (Multi-Process Service)

  • Allows multiple CUDA processes to share a single GPU simultaneously.
  • Processes run concurrently (not time-sliced) — better utilization than context switching.
  • No memory isolation — one process can potentially access another's memory.
  • Used when: trusted workloads need to share GPU without MIG overhead.

Cloud GPU Sharing

  • AWS: `p4d.24xlarge` with 8 A100s, or MIG-backed instances.
  • GCP: Multi-instance GPU support for A100/H100.
  • Azure: MIG available on ND-series VMs.

GPU virtualization is essential for economic GPU utilization in data centers — without partitioning and sharing, the high cost of modern GPU accelerators would be wasted on workloads that use only a fraction of available compute and memory resources.

Take gpu virtualization further

Ask the copilot about this term, or have our engineers assess it against your process.