Sharing a GPU
A powerful GPU is often more than one workload needs. Rather than leaving it half-idle, you can slice it — but the right way to share depends entirely on whether the workloads trust each other.
There are three ways to put more than one workload on a single GPU, and they are not interchangeable. The choice comes down to isolation: how much the jobs need to be protected from each other.
Time-slicing
The simplest: the GPU switches between workloads in turn, like a CPU scheduler. Everyone shares all the memory and there is no isolation — one job can starve or crash another. Fine for your own trusted jobs; wrong for anything multi-tenant.
MPS — running kernels together
NVIDIA’s Multi-Process Service lets several processes actually run on the GPU at once, improving utilisation for lots of small jobs. Still no hard memory isolation — it raises throughput, not safety.
MIG — real partitions
On data-centre cards, Multi-Instance GPU splits one physical GPU into several smaller ones, each with its own isolated memory and compute. A job in one partition cannot see or disturb another. This is the only option that is safe across untrusting workloads — and the one to use if you are reselling slices.
Match the method to the job
- One team, many small inference jobs — time-slicing or MPS, for utilisation
- Separate customers or untrusted tenants — MIG, for isolation
- A single large training run — do not share at all; give it the whole card
Measure before you slice
Sharing only helps if the card is genuinely underused. Watch utilisation and memory first — see GPU drivers and CUDA. If one workload already fills the GPU, slicing it just makes everything slower.
Still stuck? Mail support@novogara.com — an engineer answers, at any hour. Back to the knowledge base