Add Strix Halo/GFX1151 Support - #90
Conversation
f25176b added vllm_radeon8060s.sh / sglang_radeon8060s.sh but ImageSelector.get_runner_type() still only mapped gfx942/gfx950/gfx1100 and raised "No runner type found for gfx1151", so a detected Strix Halo never reached those scripts. Map gfx1151 -> radeon8060s. Tests: parametrized runner mapping extended; new tests/test_gfx1151_runner_selection.py proves arch -> runner -> built-in script (both frameworks, MAGPIE_RUN_PHASE honoured). Full suite 407 passed.
haofrank
left a comment
There was a problem hiding this comment.
Overall LGTM, Do you have validated, up-to-date Docker images for the new gfx1151 vLLM and SGLang runners? there is a mapping in benchmark_images.yaml.
|
You can use Magpie/Magpie/benchmark_images.yaml Line 16 in 3aba836 |
|
Nice work! I've been looking at gfx1151 support from the same angle and wanted to offer one small addition rather than duplicate the effort. Adding the image on its own isn't enough. I checked out this branch and ran The cause is that gfx1151 is in that list, but the guard demands the exact string if [[ -n "${PYTORCH_ROCM_ARCH:-}" && "$PYTORCH_ROCM_ARCH" != "gfx1151" ]]; then
echo "ERROR: vllm_radeon8060s requires PYTORCH_ROCM_ARCH=gfx1151." >&2
exit 2
fi
export PYTORCH_ROCM_ARCH=gfx1151This means the runner can only start where A membership test would fix it, e.g. With the guard satisfied, your runner works.: |
Map the published ROCm vLLM image for Radeon 8060S and preserve semicolon-delimited build architecture lists in both Radeon runners. Document custom SGLang image requirements and distinguish original qualification from collaborator results. Tests: 470 passed; 63 new container compatibility cases. Coverage 90.06%. Shell syntax, Ruff, CLI smoke, and independent review passed. Existing tests byte-preserved; no new GPU benchmark claimed.
|
Thanks @haofrank and @mgehre-amd — the multi-architecture diagnosis was correct, and thanks for testing the runner on a real 8060S. Addressed in ebcbed0:
On the SGLang image question: our original PR results used a custom ROCm 10 / SGLang 0.5.15 build, not an official upstream image. We now also publish a community image, Its published manifest and runtime receipt bind five text-only Qwen3.5-0.8B serving checks on a physical gfx1151 to that image. It uses ROCm 10 / SGLang 0.5.19.dev0, Triton attention, CUDA graphs off, and AITER off. Those are bounded serving checks, not a full Magpie benchmark/eval rerun or broad model/precision coverage. I left SGLang as an explicit |
Summary
Add first-class Radeon 8060S / Strix Halo (
gfx1151, RDNA 3.5) benchmark runners derived from the current MI355X lifecycle scripts.vllm_radeon8060s.shandsglang_radeon8060s.shgfx1151withoutHSA_OVERRIDE_GFX_VERSIONQualified routes
Physical Radeon 8060S qualification used ROCm 10, Torch
2.13.0+rocm10.0.0, vLLM0.27.0+hyperloom.gfx1151.rocm10, and SGLang0.5.15.64 -> 16requests; 131.03 output tok/s64 -> 16requests; 82.19 output tok/sCurrent upstream AITER attention is not claimed for the tested BF16 Qwen3 GQA2/head-size-128 geometry: CK prefill compilation failed and paged decode device-asserted.
Original submission tests
bash -non both new runnersReview follow-up
ebcbed02f8717848a9ba3adc93f3177b63f9152b.vllm.gfx1151to the publishedvllm/vllm-openai-rocm:v0.23.0image.gfx1151in both runners; this is build metadata, not runtime GPU dispatch.