Skip to content

Scheduling ​

How the network decides which GPUs run a lab's job.

Eligibility ​

A connected GPU can take a job when all of these hold:

  1. It is not paused from the dashboard.
  2. It has not stepped aside because its owner is using the card (when stepping aside is on).
  3. The VRAM it lends, total VRAM times allocation, is at least the job's gpu.min_vram_gb.

Choice ​

The scheduler groups online GPUs by type. It takes the cheapest type whose cards have enough memory and of which at least gpu.count are online, and checks that the lab's credit covers max_hours at that type's rate before placing anything.

If no type has enough memory at all, the job is rejected with 400 gpu_unavailable. If no matching cards are free, it is rejected with 503 no_capacity and nothing is charged.

Stopping ​

A job ends when its command exits or when max_hours is reached, whichever comes first. If the owner pauses the GPU or it steps aside, the network stops using the card straight away. Billing stops at the same moment.