# HW variables

> Resource reservation variables for RealHW jobs.

Source: https://docs.realhw.dev/reference/hw-variables/
Documentation index: https://docs.realhw.dev/llms.txt

Use `HW_*` variables for explicit per-job reservations.

| Variable | Example |
|---|---|
| `HW_CPU` | `"8"` |
| `HW_MEMORY` | `"16Gi"` |
| `HW_GPU_COUNT` | `"1"` |
| `HW_GPU_MODEL` | `"a100"` |
| `HW_NIC_TIER` | `"25g"` |
| `HW_NIC_DRIVER` | `"mlx5_core"` |
| `HW_SRIOV_VF_COUNT` | `"1"` |
| `HW_NUMA_POLICY` | `"single-node"` |
| `HW_HUGEPAGE_BYTES` | `"1073741824"` |
| `HW_PREEMPTIBLE` | `"true"` |
| `HW_PLACEMENT` | `"auto"` |

Generic jobs should usually rely on GitLab-compatible SaaS tags. Use variables for hardware-specific requests and explicit overrides.

`HW_PREEMPTIBLE` defaults to `false`. Only an explicit `true` permits spot
placement; job names and runtime estimates never grant interruption permission.
Pre-lease webhook warm-up uses verified on-demand catalog capacity because job
events do not carry the workload’s interruption opt-in.
