# Hardware markers

> Select RealHW capacity with GitLab runner tags.

Source: https://docs.realhw.dev/hardware-markers/
Documentation index: https://docs.realhw.dev/llms.txt

RealHW exposes hardware markers as GitLab runner tags. You already know the interface: put tags on a GitLab CI job.

There are two tag families:

- GitLab-compatible SaaS tags for generic Linux runner shapes
- RealHW hardware markers for specialized hardware

## Start simple

```yaml
unit-tests:
  tags:
    - saas-linux-medium-amd64
  script:
    - cargo test
```

## Add hardware when needed

```yaml
gpu-tests:
  tags:
    - saas-linux-large-amd64
    - gpu:nvidia
    - gpu:count:1
  script:
    - nvidia-smi
```

## Tags versus variables

Tags select eligible runner capacity. `HW_*` variables request an explicit reservation for the job.

For most generic jobs, use only a GitLab-compatible SaaS tag. For specialized jobs, use hardware markers plus variables when the job needs a specific reservable resource.
