Getting started¶
Install¶
cargo install gpu-provisioner # installs the `gpuprov` binary
git clone https://github.com/DumbAI/gpu-provisioner
cd gpu-provisioner
cargo install --path .
Requirements: Rust 1.91.1 or newer, and the system OpenSSH client (ssh) on your PATH.
On macOS and Linux it is already there.
Try it without a cloud account¶
The docker cloud runs each "VM" as a local sshd container. It's the quickest way
to see the whole lifecycle. Containers can't run k3s, so these come up as plain
VMs:
gpuprov provision --cloud docker --name demo --instance-type container
gpuprov ssh demo -- uname -a
gpuprov status demo # the journaled state transitions
gpuprov down demo
Your first cloud VM¶
-
Credentials. Use whatever each cloud's own tooling already uses. Details are in Configuration.
- AWS:
aws configure(or a profile in~/.gpu-provisioner/config.toml). - GCP:
gcloud auth loginandgcloud config set project <id>. - Prime Intellect:
prime login, orPRIME_API_KEY. - RunPod:
RUNPOD_API_KEY(orrunpod config). - Verda:
VERDA_CLIENT_IDandVERDA_CLIENT_SECRET(Cloud API credentials). - Massed Compute, Hyperstack, Lambda:
MASSED_COMPUTE_API_KEY,HYPERSTACK_API_KEY,LAMBDA_API_KEY. - DigitalOcean:
DIGITALOCEAN_ACCESS_TOKEN(the same tokendoctluses). - Nebius:
nebius profile create(the nebius CLI), orNEBIUS_IAM_TOKEN.
- AWS:
-
Provision.
# AWS: the cheapest T4 type in us-west-2, falling back to us-east-1 gpuprov provision --name dev --gpus T4:1 --region us-west-2 --region us-east-1 # GCP: an L4 in any zone of us-central1 gpuprov provision --cloud gcp --name dev-gcp --gpus L4:1 --region us-central1 # Budget 48 GB GPU for a session: Massed Compute (US) or Hyperstack (Canada) gpuprov provision --cloud massedcompute --name dev-mc --gpus A6000:1 gpuprov provision --cloud hyperstack --name dev-hs --gpus A6000:1 --region CANADA-1 # RunPod: the cheapest in-stock RTX 4090 pod (pods run as containers: no k3s) gpuprov provision --cloud runpod --name dev-rp --gpus RTX4090:1 # Prime Intellect: the cheapest H100 offer anywhere in the marketplace gpuprov provision --cloud primeintellect --name dev-pi --gpus H100:1Each VM is also a single-node k3s cluster by default. The command blocks until SSH works and the cluster is validated, then prints the kubeconfig path. Add
--no-k8sfor a plain VM. Progress goes to stderr and the summary to stdout. -
Use it.
gpuprov ssh dev # interactive shell gpuprov ssh dev -- nvidia-smi # one command; the exit code propagates ssh dev # plain OpenSSH works too gpuprov list -
Tear it down. VMs bill until you do.
gpuprov down dev
When things go wrong¶
- Ctrl-C during
provisionfinishes the in-flight cloud call, then deletes what this run created. Press it twice to exit immediately. Re-running the same command then resumes from the journal. gpuprov status <name>shows the last operation and its recent transitions, including why each failed offer was skipped.- A VM shown as
LEAKEDmeans teardown could not be confirmed. Rungpuprov down <name>again, orgpuprov provisionwith the same name, which cleans up first.