Skip to content

W7900 (gfx1100) validation: PR #6 (verified) + ROCm 7.2.1/7.14.0 reproductions - #15

Merged
AIwork4me merged 9 commits into
masterfrom
w7900_update
Aug 16, 2026
Merged

W7900 (gfx1100) validation: PR #6 (verified) + ROCm 7.2.1/7.14.0 reproductions#15
AIwork4me merged 9 commits into
masterfrom
w7900_update

Conversation

@AIwork4me

Copy link
Copy Markdown
Owner

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)

  • Repo gates: 180 no-GPU tests passed, check_claim_consistency ok, shellcheck/bash-syntax clean, both render scripts smoke-tested.
  • Code review fixes carried: 00_prepare.sh mirror-env bug (the documented HF_ENDPOINT=... invocation crashed — bash treats the expanded word as a command name), a dead deploy/Dockerfile link, and the link-checker gap that let it through.
  • Independent ROCm 7.2.1 reproduction (9 committed cells): every overlapping value within ±3% of the PR's numbers, including the two Study-1 cells the PR quoted without raw evidence.
  • Full ROCm 7.14.0 pass (14/14 cells, the project's recommended default): complete 12-cell Study-2 matrix + Study 1, via the official gfx110X-all tarball.
  • Study-1 W7900 rows without committed evidence were excluded from the merge until measured; they now cite committed cells (33.21/61.45 on 7.14, corroborated by 33.31/62.03 on 7.2.1).

Negative findings preserved (repo policy: negative results are results)

  1. The repo-pinned gfx1151 ROCm 7.14 tarball core-dumps multi-slot decode on W7900 (rocBLAS error: TensileLibrary.dat ... GPU arch: gfx1100); W7900 needs gfx110X-all.
  2. An apparent c=32 pathology was traced to a polluted process tree; an isolated clean retry completed normally (276.16 tok/s).
  3. One cell contaminated by a concurrent diagnostic server (15.47 vs true ~30.5 tok/s) was deleted and re-measured.

Closes #6 (supersedes it — zihaomu's commits are preserved in the merge commit 789a6c7).

zihaomu and others added 9 commits August 14, 2026 16:06
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.
@AIwork4me
AIwork4me merged commit 6c5b217 into master Aug 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants