feat(amd): prepare gfx950 SiTU prefill - #1137
Conversation
Signed-off-by: Sanket Pandit <sanket.pandit@amd.com>
Project shared weights across M=1/2/4 while scheduling per-token AttnRes reductions, with an MFMA projection at M=4. Signed-off-by: Sanket Pandit <sanket.pandit@amd.com>
Signed-off-by: Sanket Pandit <sanket.pandit@amd.com>
Use fused Gluon for M=1/2 and the composed MFMA path from M=3 through M=16. Signed-off-by: Sanket Pandit <sanket.pandit@amd.com>
Add the SiTU-v2 epilogue to the package prefill stage and preserve logical K metadata across padded weight aliases. Signed-off-by: Sanket Pandit <sanket.pandit@amd.com>
3785c40 to
2c32487
Compare
6406405 to
3a351c3
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 58b5342883
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| k_packed = ( | ||
| int(getattr(weight, "original_k_pk", k_packed_padded)) | ||
| if preserve_logical_k | ||
| else k_packed_padded |
There was a problem hiding this comment.
Keep non-tile-aligned W13 shapes off this kernel
When the logical packed K is not a multiple of 128 (for example, GPT-OSS hidden size 2880 gives original_k_pk=1440), shortening this alias makes the package eligibility check in fused/moe.py pass. However, prefill_stage1.py uses cdiv(K, 256) and performs unmasked 128-byte activation and eight-scale loads for the final tile, while _quantize_mxfp4_activation allocates only the logical 1440 packed bytes and 90 scales. Batches of at least nine tokens can therefore read past the quantized activation buffers; either pad/mask the activation tail or keep these shapes on the fallback path.
Useful? React with 👍 / 👎.
Summary
Performance scope
This is a foundation-only stack entry. At this boundary no production caller passes
situ_linear_beta, soDO_SITUremains false and there is no standalone end-to-end performance claim. #1138 adds the A8W4 core and #1139 registers/selects it.Tests
Stack