Skip to content

v1.28.1 - AMD GPU detection (first external contribution)

Choose a tag to compare

@FedericoTs FedericoTs released this 17 Aug 16:21
· 70 commits to master since this release

AMD GPUs are detected, not guessed at — and the patch came from outside the project.

@fboudra built the rocm-smi path end to end and validated it on an RX 9070 XT: PR #4, closing issue #2. First external code contribution quantprobe has received.

  • rocm-smi detection (Linux, amdgpu): name, VRAM, sclk/mclk, temperature and the supported-frequency ceiling, through a pure parser that is testable without a GPU — the same convention the Windows registry parser follows. detect() tries NVIDIA first, so no existing machine changes behaviour.
  • calibrate works on AMD: gpu_state_amd() returns the identical dict shape, so ClockSampler, the boost verdict and the calibration state id needed no changes at all.
  • audit-ollama can verify a clean GPU on AMD, and the stuck-boost advice now names rocm-smi --showclocks alongside the NVIDIA command.
  • Five parser tests shipped with the patch; full suite green on the merged tree before merge.

One follow-up of ours, disclosed: the AMD fallback collapsed unload()'s two failure modes into one return, which made the "ollama is still holding the GPU" refusal unreachable — a working nvidia-smi plus a squatting ollama would have reported an unreadable GPU and sent the user to fix the wrong thing. Contention reporting is a measurement-discipline surface here, so the tristate is restored and pinned by a test that fails if the distinction collapses again (mutation-checked).

pip install -U quantprobe

Running an AMD card? quantprobe bench --gguf <model> --contribute would put the first AMD row in the hardware atlas — and a miss on RDNA4 is worth more to us than a hit, because misses are published at the same size as hits.