“Virtual GPU” means different things in different contexts. On dedicated GPU hosting the meaningful distinctions are whether the hardware is partitioned, whether processes share context, and what your isolation guarantees actually are. Here is the short version.
Contents
- Partitioning options explained
- What is available on consumer cards
- Practical patterns
- Picking the right one
Options
CUDA_VISIBLE_DEVICES: The simplest partition – a process sees only the GPUs you assign. Fine-grained at the GPU level, coarse within a GPU.
MPS: Nvidia Multi-Process Service. Multiple processes share one GPU at the driver level with reduced context switching overhead. No memory isolation guarantees.
MIG: Multi-Instance GPU. Hardware partitioning. A single GPU is split into multiple independent instances each with dedicated compute and memory. Only available on A100/H100-class cards – not on 5090 or 6000 Pro.
vGPU (Nvidia GRID): Virtualisation for VDI workloads. Possible via Nvidia licenses but usually not relevant for AI inference.
What Works on Our Cards
| Card | Available Partitioning |
|---|---|
| RTX 5090 | CUDA_VISIBLE_DEVICES, MPS |
| RTX 6000 Pro | CUDA_VISIBLE_DEVICES, MPS |
| RTX 4060 Ti | CUDA_VISIBLE_DEVICES, MPS |
| R9700 | HIP_VISIBLE_DEVICES, no MPS-equivalent |
MIG is not available on consumer or workstation Nvidia SKUs in 2026. If you need hardware-level partitioning, you are in A100/H100 territory which is not where our UK hosting currently competes.
Simple Device Isolation Usually Wins
CUDA_VISIBLE_DEVICES plus careful scheduling covers 90% of multi-workload patterns.
Browse GPU ServersPractical Patterns
For multiple models on one card: run multiple processes with CUDA_VISIBLE_DEVICES picking the same device. Each process allocates its VRAM slice. Use MPS if you want reduced kernel-launch contention.
For multiple tenants: one GPU per tenant if budget allows, MPS if you must share, containers for process isolation.
For a model-per-GPU: just use CUDA_VISIBLE_DEVICES. Nothing fancier needed.
The Short Answer
For dedicated hosting on consumer-class Nvidia, CUDA_VISIBLE_DEVICES and containers cover most needs. Reach for MPS only when you measure kernel-launch overhead as a real problem. Do not reach for MIG because you cannot – it is not available on these cards.