Skip to main content

Hardware Constraints & Default Resources (1 CPU, 4Gi)

Default Resource Allocation​

If you omit the resources section entirely from your job configuration, Solti automatically assigns a safe, general-purpose default:

resources:
cpu: 1
memory: 4Gi

This default ensures small scripts, data transformations, and container jobs can be submitted immediately without calculating exact resource envelopes.

Specifying Compute Requirements​

When greater performance is required, declare your target resources:

  • cpu — numeric count of vCPUs (e.g. 1, 4, 16, 64). Fractional requests (e.g. 0.25, 0.5) are supported and mapped to the smallest available instance type matching the requirement.
  • memory — memory quantity formatted with standard suffixes: Mi (Mebibytes) or Gi (Gibibytes) (e.g. 512Mi, 8Gi, 64Gi).
  • gpu — GPU request. The shorthand scalar gpu: 24Gi means "provision VMs with at least 24 GB of aggregate GPU VRAM on NVIDIA GPUs" and is equivalent to gpu: { vram: 24Gi }. GPU requests are always routed to NVIDIA instances — the runtime stack (Docker nvidia driver + NVIDIA Container Toolkit) serves NVIDIA GPUs only. The routing engine selects the cheapest instance type(s) meeting the request.

GPU Hard Constraints​

Optional hard constraints exist for workloads with non-negotiable requirements:

gpu:
vram: 80Gi # Minimum aggregate GPU VRAM (required unless model is given)
count: 2 # Optional: minimum GPU count (e.g., NCCL/multi-GPU training); requires model
model: A100 # Optional: GPU model constraint, matched against Scarcity's gpu_model values

Matching semantics:

  • {model, count} → that model with ≥ count GPUs (vram is ignored)
  • {model, vram} → that model with total VRAM ≥ vram
  • {vram} → any NVIDIA GPU with total VRAM ≥ vram

The workload container is connected to all GPUs of the provisioned VM (1:1 job↔VM pricing).

warning

Hard constraints are never silently relaxed; if nothing satisfies them, the job fails with an explicit configuration error.