Repository navigation
[Triton/Gluon] [Config] triton: add Qwen3.8-27B MXFP4 GDN in_proj_ba AFP4WFP4 tiles (gfx950) - #5669
Conversation
…n_proj_ba TP1 N=96, TP2 N=48, TP4 N=24, all K=5120. Complements the A4W4 CSV from ROCm#5350.
🏷️ CI GuideRuns automatically on every PR:
Extended tests (opt-in via labels):
PR title tags & labels: |
There was a problem hiding this comment.
🔵 Needs a closer look
The changes require final human review because they are too complex or risky for automated approval.
Pull request overview
Adds gfx950 Triton AFP4WFP4 tuning configs for Qwen3.8-27B GDN in_proj_ba across TP1/TP2/TP4 shapes.
Changes:
- Adds specialized N/K configs for
(96, 5120),(48, 5120), and(24, 5120). - Provides complete M-bucket, tile, and split-K parameters.
- Uses the existing logical-K filename lookup convention.
File summaries
| File | Description |
|---|---|
| aiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/GEMM-AFP4WFP4-N=96-K=5120.json | Updated as part of this pull request. |
| aiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/GEMM-AFP4WFP4-N=48-K=5120.json | Updated as part of this pull request. |
| aiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/GEMM-AFP4WFP4-N=24-K=5120.json | Updated as part of this pull request. |
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
@Boss2002n Can you please have a look at this PR? Thanks |
|
@Boss2002n Can this PR be merged since it is approved? |
Motivation
Follow-up to #5350 (A4W4 CSV for
gemm_a4w4). Qwen3.8-27B MXFP4 GDNin_proj_bais dispatched through AITER Tritongemm_afp4wfp4. Those kernels loadGEMM-AFP4WFP4-N=<N>-K=<K>.jsonby shape. gfx950 currently has no tiles for this model's BA widths.On TP2,
in_proj_bascale rows are not divisible by 32, so vLLM always falls back to Triton for this layer. A TP2 A/B on MI355X (ISL 8192 / OSL 1024 / c=4) measured +1.7% output tok/s with the N=48 JSON vsDEFAULT.json(434.91 vs 427.68 tok/s). TP1 N=96 is scale-swizzle legal and stays on ASM unless a per-layer Triton force is applied, so that JSON is for the fallback / correctness path, not the default ASM path.Added tuning data
(N,K)(96,5120)vllm-tp1-mxfp4-throughput/.../triton-ba/(48,5120)vllm-tp2-mxfp4-throughput/.../triton-ba/(24,5120)vllm-tp4-mxfp4-throughput/.../triton-ba/Files:
aiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/GEMM-AFP4WFP4-N=96-K=5120.jsonaiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/GEMM-AFP4WFP4-N=48-K=5120.jsonaiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/GEMM-AFP4WFP4-N=24-K=5120.jsonDense hybrid GDN (Qwen3.5-style), not MoE. No CSV and no fused-MoE rows in this PR.
Data validation
gfx950, 256 CUs).N/Konly. TP4 must be N=24, not a copy of the TP2 N=48 file.Test plan
aiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/in_proj_ba(weight_scalerows not divisible by 32)Made with Cursor