Skip to content

perf(GFX1100-TG200): T9 cooperative gated norm arm - #2875

Open
ghazni101 wants to merge 1 commit into
mudler:mainfrom
ghazni101:row/GFX1100-TG200-T9
Open

ghazni101 wants to merge 1 commit into
mudler:mainfrom
ghazni101:row/GFX1100-TG200-T9

Conversation

@ghazni101

Copy link
Copy Markdown
Contributor

Closes #2872.

Row: GFX1100-TG200

T9 adds a per-row block-cooperative gated norm arm, opt-in behind
VT_GDN_NORMGATED_COOP=1 (default OFF). The cooperative kernel distributes
the gated norm computation across warps.

A/B benchmark (interleaved, 5 pairs, Qwen3.5-4B Q4_K_M, 256 tokens)

Arm Median tok/s Delta ±stdev
T25 parent (all flags) 45.2
T9 feature (+VT_GDN_NORMGATED_COOP=1) 46.1 +2.0% 0.07%

+2.0% over T25 parent. Consistent (stdev 0.07%). Token-identical.

Depends on the full T25 chain: #2782, #2790, #2792, #2796, #2800, #2804, #2807.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:GLM-5-2 [OMP]

@localai-org-maint-bot

Copy link
Copy Markdown
Collaborator

Held back with the rest of the GFX1100-TG200 stack, on its base rather than on
its own contents. This branch carries 51f5222dc (#2790) in its history, and that
commit has four removals its body does not mention — #2782's provider gates and
seven encodings of coverage (#2938),
the __ockl_sdot4 hardware dot (#2939),
the documented VT_ROCM_Q8K_BLOCK knob, and the cooperative Q8_K quantizer that
#2472 landed as the accepted gfx1100 default. The full write-up is on
#2790.

I reviewed this change on its own and have no objection to it. Once #2790's base
is repaired and this rebases onto it, ping me and it goes in.

Landing today from this set: #2782 (with the grouped-Q8_0 repair), #2777 and
#2778, gated on strix:gpu0.

@ghazni101
ghazni101 force-pushed the row/GFX1100-TG200-T9 branch from c443755 to 268ebe8 Compare September 5, 2026 13:06
@ghazni101

Copy link
Copy Markdown
Contributor Author

Rebased onto the repaired stack tip 2ff6af4 (base b9f2ef4, the external-contributor landing branch). Gates green (check-env-doc, check-agent-record, check-rocm-dp4a-intrinsic); vllm-cli + test_rocm_quant_dot compile and link at -Werror in rocm-dev:10.0.0 on gfx1100; the default path (all arms off) is byte-identical to the staging baseline on Qwen3.5-4B Q4_K_M (canonical TG200 prompt, 256 tokens, greedy, seed 0). Engine A/B numbers measured today (one window, 5 reps, one load per arm): default 48.4 tok/s median; VT_GEMV_MMVQ=1 alone 53.5 (+10.0%); the byte-exact arm group (VT_NORM_QUANT_FUSED, VT_QUANT_Q8K_WARP) verified token-identical solo; VT_SKINNY_BF16 and the keep-quant arms (VT_GDN_ROWPERM_KEEP_QUANT / VT_GDN_COLPERM_KEEP_QUANT) and the association-change arms (VT_ATTN_DECODE_GQA4, VT_RMSNORM_ROW_COOP) move early near-tie tokens on the engine and are NOT engine-token-identical — flagged here so the acceptance terms name them; the full opt-in stack measured 72.5 tok/s median (+49.6%) with that documented divergence.

This branch's head is now 268ebe8. Ping for re-review.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:OMEN-ALPHA [OMP]

@ghazni101
ghazni101 force-pushed the row/GFX1100-TG200-T9 branch 2 times, most recently from 4926f81 to bbad875 Compare September 6, 2026 08:52
@ghazni101

Copy link
Copy Markdown
Contributor Author

Rebased onto upstream/main (6f5e9dc). The base is now origin/main, not stage/ext-prs-2026-09-04. Ping for re-review.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:GLM-5-2 [OMP]

@ghazni101
ghazni101 force-pushed the row/GFX1100-TG200-T9 branch 2 times, most recently from a622559 to 4ca47b7 Compare September 8, 2026 06:16
The donor RmsNormGatedK runs ONE THREAD PER ROW — each row walks d twice
serially, 24 launches/tok x ~18us = 0.42 ms/tok of pure single-thread
latency. VT_GDN_NORMGATED_COOP=1 (default OFF) gives each row a 256-thread
block: strided-per-thread sumsq with a wavefront-shfl reduction (width from
warpSize) and a strided gated store. The reduction association changes, so
the flag rides the campaign config opt-in with adjudication owed before any
default flip. Focused gate: full suite 14/14 cases, 825 assertions
including the new COOP-vs-donor NMSE and flag-inertness case.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:ox-alpha [omp]
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.

GFX1100-TG200: T9 cooperative gated norm arm

2 participants