Repository navigation
Conversation
…dabb6df2b98-dirty) Made with tools/hip/tune_rocblas on an RX 6900 XT: 78 of 112 rows with a faster solution than rocBLAS's own pick. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…: prompts below 1,152 tokens -12 to -18%, 11K -4 to -9% Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rocm72 # Conflicts: # docs/AMD_HIP.md
|
One more data point, and it confirms the caveat in your "Not run" list. Box: RX 6900 XT (gfx1030), system ROCm 7.2.4 from AMD's Ubuntu repo (not Arch), — i.e. the same 5.2.0 base, a different build string from Arch's Our table: HIP_VISIBLE_DEVICES=0 build-hip/tune_rocblas --tuning-out tools/hip/gfx1030-rocblas-5.2.0.dabb6df2b9.txtand it loads: Where I differ from you on the effect, and why it matters for what people should expect. In isolation the table is real — one shape measured 6.9× faster with the tuned solution, counters proving use ( So: worth keeping for correctness and headroom, not a prefill feature. One deployment note that cost me time — install it as a directory, not a single file: mkdir -p tools/hip/rocblas-f16o-5.2.0
cp tools/hip/gfx1030-rocblas-5.2.0.dabb6df2b9.txt tools/hip/gfx1101-rocblas-5.2.0.dabb6df2b9.txt tools/hip/rocblas-f16o-5.2.0/
# STRATA_ROCBLAS_TUNING=tools/hip/rocblas-f16o-5.2.0
|
…-to-end gain on a layer split AMD's Ubuntu ROCm 7.2.4 reports rocBLAS 5.2.0.dabb6df2b9, so the Arch table does not load there; point STRATA_ROCBLAS_TUNING at the directory so each GPU of a split takes its own file. Measured on one card; a layer split showed no end-to-end change (DylanFromMassey on Niko1221#3924). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, that's a useful second data point.
|
Problem and result
The rocBLAS tables in
tools/hipcover gfx1030 with rocBLAS 5.6.0.8d1ae90e (ROCm 10.0.0). #3343 adds 5.4.0.ad84daa81c(TheRock 7.13). Arch Linux packages ROCm 7.2.4 (
rocblas 7.2.4-3). Its rocBLAS reports5.2.0.dabb6df2b98-dirty, soan engine built against the system ROCm on Arch finds no table for its build and runs rocBLAS's default kernels.
This PR adds that table. It was made with
tools/hip/tune_rocblason an RX 6900 XT against that rocBLAS, anddocs/AMD_HIP.md now names it. With it, prompts below 1,152 tokens read 12-18% faster on the GPU timeline. Prompts of
1.3K-1.5K tokens read 2-4% faster, and prompts of 11K-12K tokens 4-9% faster. No code changes: setup already points
STRATA_ROCBLAS_TUNINGattools/hipon gfx103x, and the engine takes the file of its own build.Related discussion
#3343, the same kind of table for TheRock's rocBLAS 5.4.0. This PR is independent of it, and the two files do not
overlap. #981 is the table mechanism.
Approach
LD_LIBRARY_PATH=/opt/rocm/lib build-hip/tune_rocblas --tuning-out tools/hip/gfx1030-rocblas-5.2.0.dabb6df2b98-dirty.txtwith the defaults. It wrote 112 rows: 78 with a solution, 34
default. Each solution it kept matched the defaultkernel's output (relative L2 about 2e-5, no padding writes). The full tuner output, the raw timing lines, the answers
and the sanitized config are in
bench/results/2026-10-24-rdna2-rocblas-table-rocm72/. The measurement follows themethod of
bench/results/2026-10-05-rdna2-rocblas-table.Validation
Environment:
lib_dirs/opt/rocm/lib.7ddc17a3. Its only local changes are insrc/qwen35, which the measured model doesnot use.
--adapt-every 100000in both arms).Passed:
STRATA_ROCBLAS_TUNING(unset or
tools/hip). Each arm got 12 prompts (685-12,164 tokens), each from its own offset ofdocs/DETAILS.md, with temperature 0 andmax_tokens8. Each arm ran three times as a fresh server. The GPUtimeline comes from
strata prefill timing. Mean change:rocBLAS tuning enabled (112 rows, 78 with a solution, gfx1030, rocBLAS 5.2.0.dabb6df2b98-dirty)). Each on-arm run reportstuned_launches=6268 fallbacks=0.Failed:
"request:" against "request.". This is the FP16 rounding of a different kernel; hip: a rocBLAS solution table for the FP16 prompt GEMMs on gfx103x (the GDN projection 7x below 1,152 tokens; short prompts -10 to -14%) #981's report saw identical answers
on its four prompts.
Not run:
table and says so in its log.
Limits
One machine, one model. The table is valid for this one rocBLAS build only.
Ubuntu ROCm 7.2.4, a table of this kind loaded and was used but made no end-to-end difference at 4K and 16K
prompts (expert streaming and the hand-off dominate there; see the comment by @DylanFromMassey).
5.2.0.dabb6df2b9, so this file does not load there; thatbuild needs its own table. docs/AMD_HIP.md now says so and recommends pointing
STRATA_ROCBLAS_TUNINGat thedirectory (setup's default) so each GPU of a split takes its own file.
🤖 Generated with Claude Code