Conversation
The shipped DSv4 tables cover gfx950/256, gfx1250/256 and gfx942/80. MI325X reports cu_num=304, so every lookup misses and falls back to the default config -- 100,216 'not found tuned config' messages during a single server startup, across 6,438 raw shapes. Tuned on the target hardware with the in-tree tuner using --compare --update_improved --min_improvement_pct 5 --errRatio 0.001. 464 of 476 shapes cleared the 5% bar; every adopted row has errRatio 0.0. Median speedup: blockscale 1.35x at M<=256 and 2.91x at M>4096; bpreshuffle 2.24x at M<=256. No regression across the 476 shapes. Signed-off-by: zzw09773 <kunggemini09773@gmail.com>
Contributor
🏷️ CI GuideRuns automatically on every PR:
Extended tests (opt-in via labels):
PR title tags: |
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.
What
Tuned
a8w8_blockscaleanda8w8_blockscale_bpreshuffleGEMM configs for DeepSeek-V4 on gfx942 withcu_num=304(MI325X) — 464 rows across the 7 (N, K) pairs that a production DSv4 deployment actually reaches.Why
The shipped DSv4 tables cover
gfx950/256,gfx1250/256andgfx942/**80**. MI325X reportscu_num=304, so every lookup misses and falls through to the default config. On an 8×MI325X DeepSeek-V4-Pro-0813 server that is 100,216not found tuned configmessages during startup alone, across 6,438 raw shapes. After this change the same boot emits 72.How the rows were produced
Both files were generated with the in-tree tuner on the target hardware:
python3 csrc/ck_gemm_a8w8_blockscale/gemm_a8w8_blockscale_tune.py \ -i <shapes.csv> -o aiter/configs/model_configs/dsv4_a8w8_blockscale_tuned_gemm.csv \ --compare --update_improved --min_improvement_pct 5 --errRatio 0.001 \ --shape_grouped --mp 8 # ... and the same with --preshuffle for the bpreshuffle tabledsv4_a8w8_blockscale_untuned_gemm.csvM sweep (68 values, 1 – 32768) applied to the (N, K) pairs observed in the running server — blockscale(768,7168) (2048,7168) (7168,384) (7168,21504), bpreshuffle(768,7168) (2048,7168) (7168,2048).--min_improvement_pct 5: 464 of 476 shapes cleared the bar and are included. The other 12 are deliberately absent so they keep using the default kernel.--errRatio 0.001— 50× tighter than the default. Every adopted row haserrRatioexactly0.0.Measured speedup (
--compare, per-shape pre/post in one run)a8w8_blockscale(272 shapes)..._bpreshuffle(204 shapes)Medians. 476 shapes, no regression — the single 0.99× entry did not clear the 5 % bar and is therefore not in the table.
End-to-end check
DeepSeek-V4-Pro-0813, 8×MI325X, TP8,
max_model_len=600000, DSpark speculative decoding, cudagraphs on:Notes
(gfx, cu_num, M, N, K)keys.us/tflops/bware this machine's measurements, consistent with how the existing rows were produced.