Skip to content

Resources and machines#

A runtime asks for resources the way a run does, not from a menu of fixed sizes: as many cores, as much memory and as many GPUs as you need, on the machine you choose or wherever they fit. This page explains each field, how the console shows what fits before you start, and what to do when a runtime waits.

What a runtime asks for#

Field (console) In the spec Default Range Notes
CPU cores resources.cpu_cores 2 1 to 256 Reserved for the runtime. It may also use idle cores of the machine beyond them: a notebook is idle most of the time and bursty when not.
Memory (MB or GB) resources.memory_bytes 4 GiB 512 MiB to 4 TiB A hard limit: past it, the kernel or process is killed.
GPUs resources.gpus.count 0 (none) 0 to 16 Whole GPUs of one machine.
GPU model resources.gpus.models any at most 8, each at most 64 characters Part of the model's name, ignoring case: 4090, H100, MI300. The console takes one.
GPU memory, at least resources.gpus.min_memory_gb any 0 to 1024 GB per GPU Only GPUs with at least this much memory each. As in a run's min_memory_gb: an "8 GB" card counts as about 8.

The GPU model and memory need at least one GPU. CPU cores, memory and GPUs count against the workspace's quota while the runtime holds a machine (Quotas, pools and terms), and against your limits per person when an admin has set them.

The preset's build decides whose GPUs: a CUDA build is only placed on NVIDIA GPUs, a ROCm build only on AMD's (Presets and setup).

Where it runs#

Choice (console) In the spec The runtime runs
Any machine no placement On any machine of the workspace that fits, first come.
or only machines of pool placement.pool On a machine labelled with that pool (Pools).
A machine of the list placement.node On that machine only: your workstation, the one with the data.

A workspace only ever uses the machines its cluster access grants: its pools, its tenant's machines.

Pin an environment to a machine

A drive kept on each machine's data location — the notebooks drive, and an environment's own home drive — has one copy per machine. A runtime that lands on another machine finds that machine's copy, not yours. Choose a machine (or a pool of one) for an environment, and for notebooks whose files you want in one place. See Drives and home.

What the form tells you before it starts#

The runtime form (New notebook, Change runtime…, Runtime settings, New environment) lists the workspace's machines with what each has in all and free now — cores, memory, GPUs with their model and memory — and whether your ask fits now, waits (with why: 5 of 8 cores free) or never fits there (has no GPU, has 2 GPUs, its GPUs have 24 GB). Under the list, one sentence sums it up:

It says Meaning
Fits now on: gpu-01, gpu-02. It starts at once on one of them.
No machine has room for it now: it waits (Pending) until one of gpu-01 can take it. It starts when what holds the machine ends; the form says what: gpu-01 has 3.3 GiB of memory free now, 12.7 GiB held by …— it will wait until that ends.
No machine has 2 GPUs of 80 GB or more: it would wait forever. No machine of the workspace could ever take it.
The workspace has no machines yet: the runtime waits for one. Add a machine first.

Nothing is refused for lack of room. A runtime that fits nowhere now is started anyway and stays Pending until a machine that fits is free, or until one that has it joins the workspace.

Why is it waiting?#

A runtime that has no machine yet shows Why? beside its state (on an environment's page), and the notebook editor shows Why is it waiting?. Both open the same diagnosis as for any run: what Astraeus is waiting for — a free GPU of that model or memory, a machine of the pool, a machine with a data location for the drive, the workspace's quota — what each machine lacks, and what to change. See Read a pending reason.

The usual causes:

It waits because Change
Every GPU that fits is held by other work Wait, ask for fewer GPUs or another model, or stop one of your other runtimes.
Choose where to keep data on gpu-01 The machine has no data location for the runtime's drive: an organisation admin confirms one under Machines → the machine → Data location.
The machine you pinned it to is down or busy Choose Any machine or another machine.
Waits for namespace quota: … The workspace's quota is used: stop a runtime or a run, or ask an admin.

A runtime refused at once, before it waits, is over a limit per person (409 HESPERUS_LIMIT) or asks for something out of range (400 INVALID_NOTEBOOK). One that goes straight to Failed with Its run could not be made: … names a preset with no build for the GPUs of the machines it may run on (RAPIDS has no build for AMD GPUs, and the machines it may run on have AMD's: …). See Limits and errors.