Pull requests / #2009

#2009 Add experimental Linux gfx900 setup with wave64 validation

open · @sagentlab · 0 comentarios · En GitHub

BenchmarksSetup & installAMD / HIPNVIDIA / CUDAModels & quantsSecurityDocumentationWindowsLinux

Descripción

Vega 10 (`gfx900`) is rejected by ordinary setup. This adds an explicit Linux opt-in that installs gfx900-capable ROCm packages, builds the wave64 engine, and checks the device before downloading the model.

Replaces #839, which GitHub closed after the main-branch history rewrite. This branch starts at current upstream `main` (`7695859a`) and carries only the two original contribution commits plus rebase follow-ups, preserving their author.

- Use `STRATA_EXPERIMENTAL_GFX900=1 ./setup.sh --yes --backend hip`; the experimental build uses `build-gfx900` and TheRock packages pinned to `7.14.0a20260612`. Existing architectures, ROCm family selection and iGPU handling retain the current main behavior. Windows and mixed gfx900/wave32 builds are refused.
- Check the compiled architecture and wave size before launching kernels, fix the HIP/libstdc++ attribute conflict, and preserve modulo-2^32 signed software dp4a accumulation.
- Provide a gfx900-only FP32-product/FP16-conversion fallback for the new main's optional prefill `STRATA_GDN_NOY` path, whose inline instruction cannot compile for gfx900. Its optional-path numerical parity is not claimed.
- Put the wave64 intrinsic, BF16/FP16 GEMM and device tests under `STRATA_BUILD_TESTS`. Keep the installer device probe available when tests are off. Retain main's existing `cudaFuncSetAttribute` template and carve-out define without duplicating them.
- Document installation, longer-context guidance and a retained 0.1.39 MI25 log measurement: 38 uncached prompt tokens at 39.9 tokens/s and 256 generated tokens at 31.6 tokens/s. This is one historical request, not a measurement of the rebased engine.

Validation on the rebased branch:

- 211 setup tests pass across gfx900, AMD, choices, config, older GPUs, dependency pins, update, ROCm pins, Strix Halo, AMD startup and GPU-update suites.
- CMake configures with tests on and off; with tests off, wave64 test targets are absent and `strata-device` remains available.
- Full Release gfx900 `strata` engine build succeeds against current main (0.1.43).
- Rebuilt wave64 intrinsic, BF16/FP16 GEMM and device self-tests: 3/3 pass on the MI25 with ROCm `7.14.0a20260612`.
- `git diff --check` passes.

The 2026-10-04 full installer and inference checks in `docs/AMD_GFX900.md` are historical evidence from #839. A gfx906 owner run requested in the previous review is still outstanding; this PC has gfx900, so no gfx906 runtime validation is claimed. The gfx906 signed dp4a instruction path remains unchanged. Images and multiple-card inference remain unvalidated.

En el sitio

Enlaces a install, modelos, releases.