Commit Graph

184 Commits

Author SHA1 Message Date
8d565efd7a D1: Conditional sP allocation (saves 64KB SMEM for TMEM-P at hd=256) 2026-05-24 04:02:02 +00:00
65aaec5df0 D1: Fix sP dummy allocation 2026-05-24 04:00:19 +00:00
86064a2ffa D1: Skip sP allocation when use_smem_p=False (saves 64KB at hd=256) 2026-05-24 03:59:27 +00:00
9bab7fe659 D1: Fix syntax (separate kv_stage line) 2026-05-24 03:58:12 +00:00
15eef33728 D1: Reduce kv_stage to 1 at hd>128 to avoid SMEM overflow 2026-05-24 03:55:44 +00:00
e288fea062 D1: FIX qk_mma_tiler K-dim = head_dim (was hardcoded to 64, broke hd>64) 2026-05-24 03:53:19 +00:00
b408fa4718 D1: Print qk_ik in _setup 2026-05-24 03:51:40 +00:00
aa8b145035 D1: Add more debug prints (QK/PV mode2 sizes) 2026-05-24 03:49:55 +00:00
073119e9ca D1: Add sP shape debug print 2026-05-24 03:46:27 +00:00
44b72cc570 D1: Fix SMEM-P (coordinate store), LSE (FP32), add TMEM-P-only test 2026-05-24 03:27:14 +00:00
1effbd9484 D1: Fix SMEM-P - coordinate-indexed store (replaces make_tiled_copy_C) 2026-05-24 03:24:44 +00:00
0105037d99 feat: SMEM-P make_tiled_copy_C + zero-fill dest tensor 2026-05-24 03:23:53 +00:00
143a9ae5c7 feat: SMEM-P using make_tiled_copy_C(qk_mma) approach 2026-05-24 03:22:57 +00:00
8eef860947 fix: LSE type mismatch Float32→BFloat16 2026-05-24 03:20:26 +00:00
304429ee3e D1.5: Fix SMEM-P - use coordinate-indexed store (same proven pattern) 2026-05-24 03:19:32 +00:00
b471579140 D1.5: Always output un-normalized O + LSE (epilogue_tma_store only, no TMEM round-trip normalize) 2026-05-24 03:18:38 +00:00
940141a480 feat: SMEM-P using make_tiled_copy_A from PV MMA 2026-05-24 03:16:34 +00:00
641af108c3 fix: fence_proxy not fence 2026-05-24 02:45:01 +00:00
6b47cea90f D1.5: Replace broken make_cotiled_copy SMEM-P with coordinate-indexed store 2026-05-24 02:43:42 +00:00
45dd35ee92 Merge branch 'master' of ssh://sweetapi.com:2222/biondizzle/nvfp4-megamoe-kernel 2026-05-24 02:41:39 +00:00
4e593f1cad D1.5: Use tCtO_fake layout for epilogue_tma_store (needs STAGE dim) 2026-05-24 02:41:32 +00:00
4a2b48dc63 feat: SMEM-P using make_cotiled_copy (one-row-per-thread) 2026-05-24 02:41:19 +00:00
dd7eae0c1c D1.5: Remove duplicate tTMrO definition (keep unconditional one) 2026-05-24 02:40:40 +00:00
769181e503 fix: reorder tTMrO definition after tTMEM_LOADcO 2026-05-24 02:36:08 +00:00
05e53b53a2 fix: tTMrO scoping + restore SMEM-P coordinate write 2026-05-24 02:34:53 +00:00
d75f6c2afa D1.5: Move tTMrO def before softmax loop (CuTeDSL scoping) 2026-05-24 02:32:51 +00:00
1c7d21f1a2 debug: zero-fill sP to check deadlock 2026-05-24 02:31:12 +00:00
f7cecf4b2d D1.5: Use proven Stage C approach - normalize via TMEM round-trip + epilogue_tma_store 2026-05-24 02:30:25 +00:00
2e0fc3db74 test: SMEM-P coordinate verification test 2026-05-24 01:58:32 +00:00
475ba78370 D1.5: Fix bSG_gC slicing - group trailing modes (CUTLASS pattern) 2026-05-24 01:41:52 +00:00
044c230760 D1.5: Dynamic slicing for tTR_gC (variable rest dims) 2026-05-24 01:40:44 +00:00
1bde12782d D1.5: Fix flat_divide slice coordinates (4 modes, no STAGE dim) 2026-05-24 01:39:21 +00:00
ddfa1b1cc6 D1.5: Rewrite correction epilogue using CUTLASS pattern (transform_partitioned, flat_divide, paired atoms) 2026-05-24 01:37:53 +00:00
ec1733406f D1.5: Fix TMA store - group_modes on bSG_gC, use flat indexing 2026-05-24 01:36:01 +00:00
b41ec41252 D1.5: Fix TMA store - use flat_divide on tCgC instead of local_tile on mC 2026-05-24 01:35:10 +00:00
f421fb6fb1 D1.5: Fix TMA store - use 3D tile for local_tile on 3D mC 2026-05-24 01:20:33 +00:00
793edcf6b8 D1.5: Use group_modes on sC for 2D TMA view (preserves swizzle) 2026-05-24 00:52:57 +00:00
5af5271c39 D1.5: Use 2D sC_epi layout from c_smem_s for TMA partition 2026-05-24 00:51:18 +00:00
0699383339 D1.5: Fix TMA store - use group_modes on sC and tCgC 2026-05-24 00:48:18 +00:00
7c97cbee1c D1.5: Simplify TMA store - use 2D sC_epi and gC_epi views 2026-05-24 00:46:52 +00:00
f305aa4884 D1.5: Fix TMA store - use existing gC partition 2026-05-24 00:43:35 +00:00
cb1a9d9171 D1.5: Implement correction epilog with paired atoms (get_tmem_load_op + get_smem_store_op)
One-way: TMEM → registers (normalize) → SMEM → GMEM
Based on CUTLASS FMHA reference's correction_epilog pattern.
Eliminates TMEM round-trip error for O normalization.
O rescale (kt>0) still uses old atoms (separate fix).
2026-05-24 00:41:27 +00:00
1aac9b9c9d D1.5: Add TODO for correction epilog - keeping working TMEM round-trip for now 2026-05-24 00:37:36 +00:00
b44ead44c6 D1.5: Revert to pre-epilog backup - correction epilog refactor is complex, will do incrementally
The correction epilog (TMEM→reg→SMEM→GMEM one-way trip) is the right approach
but the TMA store from SMEM requires proper partitioning that needs more work.
Reverting to the known-working state (with 3% TMEM round-trip error) to focus
on the SMEM-P write first.
2026-05-24 00:35:00 +00:00
88b9202d08 D1.5: Fix TMA store - use local_tile with pv_mma_tiler 2026-05-24 00:32:35 +00:00
e851ea211d D1.5: Fix TMA store rank mismatch - use 2D sC_epi view 2026-05-24 00:31:45 +00:00
57c02e1211 D1.5: Implement correction epilog with get_tmem_load_op + get_smem_store_op paired atoms
- One-way: TMEM → registers (normalize) → SMEM → GMEM
- Eliminates TMEM round-trip error for O normalization
- O rescale (kt>0) still uses old atoms (fix later)
- Based on CUTLASS FMHA reference's correction_epilog pattern
2026-05-24 00:30:38 +00:00
a22014d21f D1.5: Replace TMEM round-trip normalize with correction epilog (one-way: TMEM→reg→SMEM→GMEM)
- Remove noop + normalize TMEM round-trips (3% error per trip)
- Use epilogue_tmem_copy_and_partition for TMEM→reg (paired atoms)
- Use epilogue_smem_copy_and_partition for reg→SMEM (paired atoms)
- Apply 1/row_sum normalization in register space (exact)
- TMA store from SMEM→GMEM (no TMEM write-back)
- Add iter_acc_early_release_in_epilogue attribute
- Update SMEM-P comments to reflect coordinate-indexed fallback
2026-05-24 00:24:24 +00:00
7477253eab D1.3: Fix LSE tensor layout for weakly congruent store 2026-05-24 00:16:22 +00:00
ba6005316e D1.3: Re-enable coordinate-indexed SMEM-P write with identity tensor coords 2026-05-23 23:26:46 +00:00