Warm pools · sub-second GPU sandboxes

A GPU sandbox in
one with block.

Reserve real H100s, B200s, or a CPU box, run your code, and tear it all down — in a single context manager. Pre-warmed pods mean you get a shell before your terminal finishes scrolling.

repro.py
from gpu_dev import GpuDev with GpuDev().reserve(gpu_type="h100") as sandbox: result = sandbox.exec("python -c 'import torch; print(torch.cuda.get_device_name())'") print(result.stdout) # sandbox auto-cancelled on exit — you only pay for what you used
[1.2s] ✓ Ready — 1× H100 · ssh dev@a1b2c3d4.devservers.io
NVIDIA H100 80GB HBM3
reservation auto-cancelled · 1.2s billed
How it works

Reserve → run → gone

No tickets, no Slack pings, no idle instances you forgot to kill. The sandbox lives exactly as long as your with block.

Call reserve()

Pick a GPU type and count. Defaults are sane; everything is a keyword arg.

Claim a warm pod

A pre-booted pod with sshd already running is handed to you — your key injected on the fly.

Run your work

.exec(), .upload(), .download(), or just SSH in like any box.

Auto-teardown

Leaving the block cancels the reservation. Persistent disks survive if you asked for one.

Why it's instant

Warm pools, not cold starts

We keep a standby pool of booted pods per GPU type. Reserving claims one instead of building it from scratch — no scheduling, no image pull, no sshd boot on your critical path.

❄️ Cold start ~12s

schedule + pull + sshd + probe12s

The classic path: place the pod, pull the image, boot the SSH daemon, wait for the readiness probe. Fine — but you feel it.

⚡ Warm pool ~1.2s

claim + inject key1.2s

The pod is already running. Claiming it is a label swap and an authorized_keys append. That's the whole story.

What you get

A real box, not a toy

Every sandbox is a genuine GPU node on our cluster — full driver stack, NVLink, EFA, the works.

🎮

Any GPU, 1→64

T4, L4, A10G, RTX PRO 6000, A100, H100, B200, B300 — single card up to multi-node NVLink fabrics.

🔪

MIG slices

Need a sliver? Reserve h100-mig-1g and share a card. Pre-warmed and instant too.

💾

Persistent disks

Name a disk once; it follows you across sandboxes. Clone it for parallel experiments in seconds.

🐍

CLI + SDK, one install

pip install gpu-dev gives you both gpu-dev reserve and the Python GpuDev() client.

💸

Spot, safely

Pass spot=True for ~70% off. Checkpoints land on a persistent disk that survives reclaim.

🔁

Built for CI repro

A failing PyTorch job is one reserve away from a live shell on a matching box. soon: 1-command

Get started

Your first sandbox is one line away

$ pip install gpu-dev copy
Read the docs