Skip to content

[Triton/Gluon] [Config] triton: add Qwen3.8-27B MXFP4 GDN in_proj_ba AFP4WFP4 tiles (gfx950) - #5669

Merged
Boss2002n merged 2 commits into
ROCm:mainfrom
abrahamzewoudie:azewoudi/qwen38-27b-mxfp4-afp4wfp4-ba
Oct 7, 2026
Merged

Boss2002n merged 2 commits into
ROCm:mainfrom
abrahamzewoudie:azewoudi/qwen38-27b-mxfp4-afp4wfp4-ba

Conversation

@abrahamzewoudie

Copy link
Copy Markdown
Contributor

Motivation

Follow-up to #5350 (A4W4 CSV for gemm_a4w4). Qwen3.8-27B MXFP4 GDN in_proj_ba is dispatched through AITER Triton gemm_afp4wfp4. Those kernels load GEMM-AFP4WFP4-N=<N>-K=<K>.json by shape. gfx950 currently has no tiles for this model's BA widths.

On TP2, in_proj_ba scale 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 vs DEFAULT.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

TP (N,K) Source
1 (96,5120) Arete vllm-tp1-mxfp4-throughput/.../triton-ba/
2 (48,5120) Arete vllm-tp2-mxfp4-throughput/.../triton-ba/
4 (24,5120) Arete vllm-tp4-mxfp4-throughput/.../triton-ba/

Files:

  • aiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/GEMM-AFP4WFP4-N=96-K=5120.json
  • aiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/GEMM-AFP4WFP4-N=48-K=5120.json
  • aiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/GEMM-AFP4WFP4-N=24-K=5120.json

Dense hybrid GDN (Qwen3.5-style), not MoE. No CSV and no fused-MoE rows in this PR.

Data validation

  • Tuned on MI355X (gfx950, 256 CUs).
  • Triton BA configs passed reference comparisons at representative M=16, 128, 1024.
  • Lookup is by filename N/K only. TP4 must be N=24, not a copy of the TP2 N=48 file.

This PR was developed with AI assistance. The human author reviewed the tuning provenance, the TP2 A/B, and validation, and owns the submitted data.

Test plan

  • Confirm the three files land under aiter/ops/triton/configs/gfx950/triton/gemm/gemm_afp4wfp4/
  • TP2 serve with the N=48 overlay: log shows Triton fallback for in_proj_ba (weight_scale rows not divisible by 32)
  • TP4 uses N=24 JSON, not N=48

Made with Cursor

…n_proj_ba

TP1 N=96, TP2 N=48, TP4 N=24, all K=5120. Complements the A4W4 CSV from ROCm#5350.
@abrahamzewoudie
abrahamzewoudie requested a review from a team September 18, 2026 13:05
@github-actions

Copy link
Copy Markdown
Contributor

🏷️ CI Guide

Runs automatically on every PR:

  • ✅ Pre-checks (submodule verification, code formatting)
  • ✅ Aiter op tests (gfx942 + gfx950)
  • ✅ Triton tests on MI35X (only when aiter/ops/triton/** or related paths are changed)

Extended tests (opt-in via labels):

Label Tests
ci:gfx1250-ffm-triton Run the five-shard gfx1250 FFM Triton test suite
ci:triton-300x Run an additional Triton test job on MI300X in PRs; main branch always runs both MI35X and MI300X
multigpu Aiter multi-GPU tests on the 8-GPU runner
ci:sglang SGLang integration tests: DeepSeek-R1-MXFP4 accuracy, Qwen 3.5 accuracy
ci:atom ATOM benchmark: DeepSeek-R1-0528, GPT-OSS-120B
ci:atom_full ATOM accuracy suite for PR and main models from ATOM models_accuracy.json
ci:vllm vLLM benchmark: GPT-OSS-120B, DeepSeek-R1-0528, Kimi-K2.5
ci:all All standard extended tests (excludes ci:atom_full)

Only add ci:atom_full for FlyDSL or Triton upgrades.
Add labels via the sidebar or gh pr edit 5669 --add-label <label>

PR title tags & labels:
Component tags ([Triton/Gluon], [HIP], [CK], [ASM], ...) are added to the PR title and as PR labels automatically from the changed files and re-synced on every push — change-type tags like [fix]/[Perf], op tags like [MLA], and human labels (ci:*) are left untouched. Add the no-auto-title label to opt this PR out.

@github-actions github-actions Bot changed the title [Config] triton: add Qwen3.8-27B MXFP4 GDN in_proj_ba AFP4WFP4 tiles (gfx950) [Triton/Gluon] [Config] triton: add Qwen3.8-27B MXFP4 GDN in_proj_ba AFP4WFP4 tiles (gfx950) Sep 18, 2026
@Boss2002n
Boss2002n requested a lite review from Copilot September 18, 2026 13:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 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.

@abrahamzewoudie

Copy link
Copy Markdown
Contributor Author

@Boss2002n Can you please have a look at this PR? Thanks

@abrahamzewoudie

Copy link
Copy Markdown
Contributor Author

@Boss2002n Can this PR be merged since it is approved?

@azaidy
azaidy requested a review from eky-amd October 6, 2026 14:25
@azaidy
azaidy requested a review from Boss2002n October 6, 2026 14:25
@Boss2002n
Boss2002n merged commit afcd224 into ROCm:main Oct 7, 2026
96 of 97 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants