Repository navigation
[HIP] [CK] [FlyDSL] add 32*32/128*128 mxfp8 and add tune with bmm(batch=1) - #6603
Conversation
🏷️ CI GuideRuns automatically on every PR:
Extended tests (opt-in via labels):
One backend per PR: PR title tags & labels: |
There was a problem hiding this comment.
🟡 Changes recommended
Tuner defaults can write to the wrong configuration tables, and mxscale benchmarking still selects an incompatible operator.
2 open findings
What changed in this PR
Extends gfx950 FlyDSL MXFP8 GEMM support to raw 32×32 and 128×128 block scales, with tuning against batched GEMM at batch size one.
Changes:
- Adds coarse-scale handling to both MXFP8 kernel pipelines.
- Unifies backend selection and extends tuning and ahead-of-time compilation.
- Updates numerical tests and removes obsolete scale-shuffle helpers.
| File | Description |
|---|---|
| op_tests/tuning_tests/test_csv_validation.py | Enforces one tuning row per shape and block. |
| op_tests/test_gemm_group32_interface.py | Tests both MXFP8 pipelines with coarse scales. |
| op_tests/test_gemm_a8w8_blockscale.py | Passes raw scales to GEMM. |
| csrc/gemm_a8w8_mxfp8_bpreshuffle/gemm_a8w8_mxfp8_bpreshuffle_tune.py | Adds coarse-scale tuning against batch-one GEMM. |
| csrc/ck_gemm_a8w8_blockscale/gemm_a8w8_blockscale_tune.py | Removes the legacy FlyDSL tuning path. |
| aiter/ops/shuffle.py | Removes obsolete blockscale shuffle helpers. |
| aiter/ops/gemm_op_a8w8.py | Dispatches raw scales by tuned backend. |
| aiter/ops/flydsl/mxscale_preshuffle_kernels.py | Routes supported raw-scale layouts. |
| aiter/ops/flydsl/kernels/mxfp8_gemm_8wave.py | Stages coarse scales in the eight-wave kernel. |
| aiter/ops/flydsl/kernels/gemm/mxscale_preshuffle.py | Adds coarse-scale loading and packing. |
| aiter/ops/flydsl/gemm_tune/flydsl_gemm_mxscale_preshuffle_common.py | Adds scale-specific candidates and memory estimates. |
| aiter/ops/flydsl/gemm_a8w8_mxfp8_8wave.py | Validates and forwards scale-block settings. |
| aiter/configs/a8w8_blockscale_mxscale_bpreshuffle_untuned_gemm.csv | Removes backend identity from input keys. |
| aiter/aot/flydsl/gemm.py | Compiles kernels for the new scale contracts. |
🧠 Review effort: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Motivation
Technical Details
Test Plan
Test Result
Submission Checklist