Skip to content

[FlyDSL] optimize dsv4.1, k3, m3 moe perf for gfx1250 - #7296

Merged
binding7012 merged 10 commits into
mainfrom
binding_moe_gfx1250_opt_1031
Nov 5, 2026
Merged

binding7012 merged 10 commits into
mainfrom
binding_moe_gfx1250_opt_1031

Conversation

@binding7012

@binding7012 binding7012 commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

optimize dsv4.1, k3, m3 moe perf for gfx1250

Test Result

image image image image image

@binding7012
binding7012 requested a review from a team November 2, 2026 03:55
@github-actions

github-actions Bot commented Nov 2, 2026

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 (added automatically when gfx942 configs change); main branch always runs both MI35X and MI300X
ci:triton-355 Run the full Triton test suite on MI35X, not only the tests the change affects
ci:windows Windows JIT op smoke test on the gfx1201 ROCm runner
ci:multi-gpu 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: DeepSeek-V4-Pro, MiniMax-M3-MXFP4
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 7296 --add-label <label>

One backend per PR:
A PR changes one kernel backend: [Triton/Gluon] (Triton and Gluon count as one), [HIP], [ASM], [CK], [OPUS] or [FlyDSL]. If the title ends up with two backend tags, split the PR -- as stacked pull requests when one part cannot merge without the other.

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 stop the title rewrites; labels stay in sync either way.

@github-actions github-actions Bot changed the title optimize dsv4.1, k3, m3 moe perf for gfx1250 [FlyDSL] optimize dsv4.1, k3, m3 moe perf for gfx1250 Nov 2, 2026
@github-actions github-actions Bot added the FlyDSL label Nov 2, 2026
@aiter-bot

aiter-bot commented Nov 2, 2026 •

Copy link
Copy Markdown

NOT READY FOR HUMAN REVIEW

PR Self-Review

Revision 76176f958e20 · mode shadow

Waiting for the PR author. The readiness report will appear after the self-review answers are complete for this revision.

Questions to answer in the PR description

  1. What behavior does this PR change, and why is the existing behavior insufficient?
  2. What did you validate, and what remains unverified? Include commands, hardware/configuration and results.
  3. Which exact workload keys consume these configuration changes, and what evidence shows that unrelated shapes keep their previous selection?
  4. For every changed op_tests/ file, what behavior does it cover and why is it not redundant? Write None if no op test changed.

Edit the PR Self-Review section in the PR description. Include the current revision SHA; this comment refreshes automatically.

Missing or invalid answers

  • FAIL — missing ### Reviewed revision in the PR description
  • FAIL — missing ### Behavior and intent in the PR description
  • FAIL — missing ### Validation and unverified scope in the PR description
  • FAIL — missing ### PR-specific question in the PR description
  • FAIL — missing ### Changed op tests in the PR description
  • FAIL — Reviewed revision must contain at least the first 7 characters of the current head SHA
  • FAIL — Behavior and intent has no substantive answer
  • FAIL — Validation and unverified scope has no substantive answer
  • FAIL — PR-specific question has no substantive answer
  • FAIL — changed op test not explained in Changed op tests: op_tests/flydsl_tests/test_flydsl_grouped_gemm.py
  • FAIL — Changed op tests must explain why each changed op test is necessary and non-redundant

Shadow mode reports what would block but keeps the status successful. Set AITER_PR_SELF_REVIEW_MODE=enforce only after reviewing real false positives.

binding7012 and others added 6 commits November 3, 2026 03:02
…pt_1031

# Conflicts:
#	aiter/ops/flydsl/grouped_gemm_mxfp4.py
#	aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py
Resolve the conflict in mxfp4_preshuffle_gfx1250_tdm.py: main moved the
TDM output stores onto the shared tiled_store() helper. Keep that refactor
and make store_tile() a k_waves guard around it (only k_group 0 writes the
tile), routing both epilogue stores -- including the a_preshuffled one that
auto-merged onto tiled_store() -- through the guard.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comment thread aiter/ops/flydsl/grouped_moe_gfx1250.py Resolved
Comment thread aiter/ops/flydsl/grouped_moe_gfx1250.py Resolved
@binding7012
binding7012 merged commit 51d5dbd into main Nov 5, 2026
62 checks passed
@binding7012
binding7012 deleted the binding_moe_gfx1250_opt_1031 branch November 5, 2026 03:23
binding7012 added a commit that referenced this pull request Nov 5, 2026
Resolve conflicts with #7296:
- mxfp4_preshuffle_gfx1250_tdm.py: keep the early quit for padded tiles
  (has_work = blk_m < tile_map[E-1]) in front of the one-pass psum lookup.
- grouped_moe_gfx1250.py: take main's comment (same code).
- tuned_grouped_fmoe.csv: keep this PR's dsv4 flash rows. split_k1/split_k2
  now mean the in-workgroup K split, so retune the a8w4 T=1 row (was the
  old global split-K 4/2): 16x64x512 w1 / 16x128x256 w2, split_k 2/2.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants