Repository navigation
fix(docker): build the ROCm image on ROCm 7.2.4 - #838
Merged
Merged
Conversation
The :rocm image was the only build still on ROCm 6.4.1; the Lucebox boxes and the AMD CI runner build and test on 7.2.4, and the README lists ROCm 7.2 for both supported AMD GPUs. Every main push since 10-07 failed it: - mmid.cu calls __syncwarp() (#774), which ROCm 6 declares only on opt-in. - The DS4 indexer's tokenwise path (#827) called the WMMA decode kernel outside the rocWMMA 2.x guard, and ROCm 6.4 ships rocWMMA 1.x. The image now uses ROCm 7.2.4 on Ubuntu 24.04: ROCm 7.2's CMake package files need CMake 3.25 or newer, and 22.04 ships 3.22. 24.04 has a Python 3.12 of its own, so uv is told to keep its managed build under /opt/uv, as in the CUDA image. The tokenwise call moves inside the guard, so a source build without rocWMMA 2.x compiles again; every score then takes the scalar kernel, one token each. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
davide221
commented
Oct 12, 2026
davide221
left a comment
Contributor
Author
There was a problem hiding this comment.
Code review
No issues found. Checked for bugs and logic errors in the changed code.
Reviewed ac5477ca · 0 candidate issues checked, kept at ≥70% confidence · add the code-review label to review again
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The
:rocmDocker image builds on ROCm 7.2.4 instead of 6.4.1, and one DS4 indexer call moves inside its rocWMMA guard.Why
/opt/rocm-7.2.4, the Lucebox boxes run 7.2.4, and the README lists ROCm 7.2 for both supported AMD GPUs (R9700 and Strix Halo).48f49bb1. Two changes compile on 7.2 but not on 6.4.1:mmid.cu:109calls__syncwarp()(feat(qwen4exp): Qwen3.8-Flash-Next backend — parity, prefill/decode perf #774). ROCm 6 declares the warp-sync builtins only on opt-in; ROCm 7 declares them by default.ds4-indexer.cu:986, the tokenwise path (feat(qwen4exp): split Qwen3.8-Flash-Next across an R9700 and a Strix Halo #827), launchedds4_indexer_score_decode_wmma_kerneloutside#if DS4_INDEXER_WMMA_AVAILABLE. ROCm 6.4 ships rocWMMA 1.x, so the kernel isn't compiled there.Changes
Dockerfile.rocm,docker-bake.hcl:ROCM_VERSION6.4.1 → 7.2.4, on Ubuntu 24.04 (baserocm/dev-ubuntu-24.04:7.2.4). ROCm 7.2's CMake package files useblock(), which needs CMake 3.25; Ubuntu 22.04 ships 3.22, and the 22.04 image stopped at configure. 24.04 has a Python 3.12 of its own, soUV_PYTHON_PREFERENCE=only-managedkeeps uv's managed build under/opt/uv, as in the CUDA image (without it the finalchmodof/opt/uvfailed). The notes say 7.2.4 is the tested stack and that the engine no longer builds on 6.x.ds4-indexer.cu: the tokenwise call is inside the existing rocWMMA 2.x guard, so a source build without rocWMMA 2.x compiles again. Every score then takes the scalar kernel, one token each, as the rest of that build already does.hip_compat/cuda_runtime.h: a comment said the CI runner was on ROCm 6.4.x.Tested
LUCE_HIP_ARCHES="gfx1151;gfx1100;gfx1200;gfx1201" docker buildx bake rocm-localon a Strix Halo + R9700 box. Configure, all 424 build steps and the runtime stage pass; the image is 26.6 GB./opt/rocm/.info/versionin the image is 7.2.4;test_server_unit: 658 passed, 2 skipped;luce_server --list-devicessees the R9700 (gfx1201) and the Strix Halo iGPU (gfx1151);Dockerfile.rocm, so the Docker workflow builds the ROCm image (gfx1201) here, and the AMD GPU jobs build the indexer change.Not tested
🤖 Generated with Claude Code