W7900 (gfx1100) validation: PR #6 (verified) + ROCm 7.2.1/7.14.0 reproductions - #15
Merged
Conversation
Data (docs/results/w7900-gfx1100.md): W7900 (gfx1100) Study 2 throughput — baseline at c (=-np) 1/4/16/32 and DFlash at c=1/4, with concurrency scaling, measured VRAM, and a gfx1151 comparison. All numbers verbatim from cell JSONs. Scripts (scripts/w7900-repro/): two-method reproduction — Method 1 (Docker image, llama.cpp baked in) and Method 2 (bare metal, user-provided gfx1100 llama-server). Both reuse the committed harness unmodified and render a 12-cell matrix (baseline c=1/4/16/32 + DFlash c=1/4). Models download from the official Hugging Face; no proxy/mirror is hard-coded. Status: W7900 -> Validated in README.md, docs/hardware-validation.md and docs/results/README.md. .gitignore: exclude the local models symlink and the repro _out/ so model weights never become part of the project.
…to main README Method-1 Dockerfile now `FROM flagos/flagtree-amd-tle:rocm7.2.4` (like ../../deploy/Dockerfile) instead of the prebuilt ACR image: installs huggingface_hub + aiohttp, pins the official Hugging Face, and COPYs the prebuilt gfx1100 llama-server from bin/ (staged by the user — a custom muse-glimmer + DFlash build, not upstream, so not compiled here). IMAGE default -> muse-glimmer-llamacpp:repro; the private registry URL is dropped from the package. bin/llama-server is gitignored; bin/README.md documents staging. README.md: add the W7900 (gfx1100) Study 2 throughput table next to the gfx1151 (AI MAX 395) one — baseline at c=1/4/16/32 and DFlash at c=1/4 — and update the "validated here" line and results preamble to include the Radeon dGPU.
Study 1 (Meta-aligned greedy anchor): add measured W7900 rows — 17GB 33.19 -> 63.98 tok/s, dynamic 30.23 -> 58.26 tok/s (both ~1.93x, draft acceptance ~0.24), measured with the repo harness (study1.conf: greedy temp=0, batch 1, 3 reps). Study 2: merge the two per-GPU tables into one table with a GPU column (gfx1151 c=1/4/16; W7900 c=1/4/16/32, gfx1151 has no c=32).
…context) Two W7900-tuned llama-server presets, grounded in the measurements: - High throughput: `-np 16 -c 1048576` (16 slots x 65536/slot), DFlash off. - Long context: `-np 1 -c 131072` (full 128K) + DFlash, or `-np 2 -c 262144`. Measured on the live W7900 (`-fa on`): high-throughput 30 GiB (17GB) / 33 GiB (dynamic); long-context (`-np 2 -c 262144`) 22 GiB — all fit the 48 GiB card with margin. llama.cpp pads each slot's context to a multiple of 256, so use round sizes (16x65536 = 1048576, not 1048560; a bare 65535/slot rounds up to 65536).
Resolve conflicts keeping the two tracks distinct, per design: - gfx1151 stays on ROCm 7.14 — adopt upstream's updated Study 1/2 numbers, intro/preamble reframing, and the CI-checked generated hardware blocks. - W7900 (gfx1100) is a separate community-validated Radeon dGPU track on our ROCm 7.2.4 — layer its Study 1/2 rows onto upstream's tables, add the serving presets, mark it "🧪 Community validated" in the generated matrices, and add configs/public-claims.json + the evidence manifest so scripts/check_claim_consistency.py passes. No experiments were re-run.
Conflict resolution: master's restructured README (#12-#14) kept; W7900 Study-2 rows integrated into the unified performance tables. The PR's Study-1 W7900 rows (33.19/63.98, 30.23/58.26 tok/s) were NOT carried: they have no committed cell JSONs, manifest entry or results-doc section, which violates the evidence-first policy the PR's own checklist states.
…k-check gap Three issues found while verifying PR #6 on a W7900 host: 1. 00_prepare.sh: the documented mirror invocation (HF_ENDPOINT=https://... bash 00_prepare.sh) crashed with 'No such file or directory' — bash treats a command word built from ${HF_ENDPOINT:+HF_ENDPOINT=...} as a command name, not an assignment. export HF_ENDPOINT instead; huggingface_hub reads it from the env. Reproduced broken, then verified the fix downloads + size-checks all four GGUFs end to end. 2. w7900-repro/README.md linked ../../deploy/Dockerfile, which does not exist in this repository; point at the package's own Dockerfile. 3. test_markdown_links.py did not cover the new documents, which is how (2) slipped through; add w7900-gfx1100.md, the manifest and the repro README to the checked set.
- Commit 9 raw cells from an independent reproduction on a second W7900 host (ROCm 7.2.1 system stack, upstream llama.cpp 0b1bad14f, kernel 6.8.0-79-generic). Every cell self-labels rocm_version/kernel/build in its manifest; SHA256SUMS pins the bundle. - Coverage: Study 1 (17gb baseline + DFlash) and Study 2 (7 of 12 cells; run order is the driver's fixed sequence, stopped early to prioritize the full ROCm 7.14.0 pass). All overlap with the PR #6 submission agrees within +/-3%. - This also backs the Study-1 W7900 numbers PR #6 quoted in the README without committed raw evidence; the README rows now cite these cells. - w7900-gfx1100.md gains an ROCm-version provenance table (7.2.4 submission / 7.2.1 reproduction / 7.14.0 recommended-default pass). The cells-rocm-7.14.0 bundle referenced by the provenance table lands in the follow-up commit with the full 7.14 matrix.
Second W7900 pass on the project-recommended ROCm 7.14.0, installed
side-by-side from the official therock-dist-linux-gfx110X-all tarball,
same validated llama.cpp pin (0b1bad14f) and committed harness:
- Study 2: full 12-cell matrix, {17gb,dynamic} x {c=1,4,16,32} + DFlash
at c=1/4. Study 1: both 17gb cells. 14/14 planned cells completed.
- Every cell self-labels rocm_version 7.14.0; SHA256SUMS pins the bundle;
all cells validate against benchmark-cell-v1.schema (schema extended
with optional driver provenance keys host/gfx/image/gpu_index).
- README headline W7900 rows now show the 7.14 numbers; 7.2.1/7.2.4
passes remain as corroboration (every overlap within +/-3%, c=32 -7%).
Negative findings preserved per project policy:
- The repo-pinned gfx1151 tarball cannot serve W7900 beyond c=1: rocBLAS
carries no gfx1100 Tensile data, multi-slot decode core-dumps
(rocBLAS error: TensileLibrary.dat ... GPU arch: gfx1100). gfx110X-all
is required; the four c=1 cells first measured under the gfx1151
tarball were discarded and re-measured.
- An apparent c=32 pathology (>56 min, no completion) was diagnosed as a
polluted process tree (orphan llama-server sharing GPU/port); a clean
isolated retry completed normally (276.16 tok/s, wall 339 s). One
dynamic c=1 cell contaminated by a concurrent diagnostic server
(15.47 tok/s vs true ~30.5) was deleted and re-measured cleanly.
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.
Summary
Merges zihaomu's PR #6 (W7900 Study-2 submission + reproduction package) with the conflicts against the restructured master resolved, plus maintainer verification performed on a second W7900 host before merge.
What was verified (all on real W7900 hardware, gfx1100, 48 GiB)
check_claim_consistencyok, shellcheck/bash-syntax clean, both render scripts smoke-tested.00_prepare.shmirror-env bug (the documentedHF_ENDPOINT=...invocation crashed — bash treats the expanded word as a command name), a deaddeploy/Dockerfilelink, and the link-checker gap that let it through.gfx110X-alltarball.Negative findings preserved (repo policy: negative results are results)
rocBLAS error: TensileLibrary.dat ... GPU arch: gfx1100); W7900 needsgfx110X-all.c=32pathology was traced to a polluted process tree; an isolated clean retry completed normally (276.16 tok/s).Closes #6 (supersedes it — zihaomu's commits are preserved in the merge commit
789a6c7).