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