Conversation
There was a problem hiding this comment.
Pull request overview
Adds MXFP8 (E4M3) support to the existing preshuffle GEMM path by extending the MXFP4 preshuffle kernel to accept FP8 B operands, providing a per-1x32 FP8 quantization helper, and adding an A8W8 correctness/perf test (gfx950-only).
Changes:
- Add
per_1x32_f8_quantto generate MXFP8 (E4M3) codes plus per-32 E8M0 scales. - Extend
kernels/gemm/mxfp4_preshuffle.py:launch_gemmwith ab_dtypeconstexpr and FP8-B load/layout handling. - Add a new A8W8 (MXFP8×MXFP8) preshuffle GEMM test and plumb
b_dtypethrough the test launcher.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| tests/kernels/utils/fp4_utils.py | Adds per-1x32 MXFP8 quantization helper for generating FP8 codes + E8M0 scales. |
| tests/kernels/test_preshuffle_gemm.py | Adds an A8W8 FP8 MX preshuffle GEMM test and threads b_dtype into the launcher. |
| kernels/gemm/mxfp4_preshuffle.py | Extends the preshuffle GEMM kernel to support FP8 B (fragment layout, view/strides, load path). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
LGTM. perf numbers? @solinzby1 |
|
conflict @solinzby1 |
|
@copilot resolve the merge conflicts in this pull request |
Merged |
Motivation
Technical Details
Test Plan
Test Result
Submission Checklist