Pull requests / #2304

#2304 setup: write the gfx1103 exact speed switches for the opt-in install

open · @AlexisCarbonell · 0 comentários · No GitHub

BenchmarksSetup & installAMD / HIPModels & quantsDocumentation

Descrição

Issue: Refs #1423 (same pattern as the gfx1150 opt-in in #2147)

## Summary

The engine turns 18 exact (bit-identical) switches on by default on gfx1151 (`src/core/arch_defaults.cpp`) but keeps
gfx1103 out of its arch defaults (`src/core/arch_defaults_test.cpp` asserts `arch_default_env("gfx1103")` stays
empty). A gfx1103 install gets the 17 that apply here - the gfx1151 set less `STRATA_HCD_EXACT`, which copies the
gfx1151 hipBLASLt table's solutions 1176 / 1177 and so does not fit beside a gfx1103 table - written into the
config's `env` beside `STRATA_HIPBLASLT_TUNING`.

## What changed

- `setup.py`
    - `GFX1103_SWITCHES`: the 17 exact switches, with what was measured on the 780M.
    - `SETUP_ENV` carries them, so a re-run refreshes them and turning the opt-in off takes them out again.
    - The opt-in install writes them into the config's `env`; the `STRATA_EXPERIMENTAL_GFX1103=1` comment and the
      gfx1103 note now name the dot4 / WMMA kernels, the table and `docs/RADEON_780M.md`.
- `tools/test_setup_strix_halo.py`: `Gfx1103Switches` keeps `GFX1103_SWITCHES` equal to the gfx1151 arch-default
  table minus `STRATA_HCD_EXACT` and checks the `SETUP_ENV` wiring; the gfx1103 note test requires the new doc link.
- `docs/RADEON_780M.md` (new): the opt-in build, the toolchain, the table, the switches, the measured numbers.
- `docs/AMD_HIP.md`: the integrated-Radeon detection line points at the new doc.

## Extra Notes

- One 780M (Ryzen 7 8745HS, 60 GB, GTT 50 GiB, ROCm 10.1, Q2_0, 4K prompt) measured the same greedy token ids with
  the 17 switches on and with them off, **+13% to +15% prompt** (183-186 -> 211-212 tok/s) and **decode +3.2%**
  (16.63 -> 17.17 tok/s, 640 greedy tokens, 3 of 3 pairs).
- Default path unchanged when the variable is unset; `tools/test_setup_strix_halo.py` (40), `test_setup_rocm_pins`
  (17), `test_setup_amd` (36) and `test_setup_choices` (50) pass.
- The engine's arch defaults are deliberately left alone (gfx1103 stays out of `arch_defaults.cpp`); the switches
  are written by setup, exactly as the gfx1150 opt-in does.
- The TheRock wheel route for gfx1103 was not exercised here (the hand build produced the numbers); setup's pin is
  unchanged.

No site

Links install, modelos, releases.