Files
tilelang/testing/python/transform
a2d6e01866 [Bugfix] Fix double buffer versioning when TMA is used without warp specialization (#1962)
* [Bugfix] Fix double buffer versioning when TMA is used without warp specialization

When TMA is enabled but warp specialization is disabled, both
MultiVersionBuffer and InjectSoftwarePipeline independently added
version dimensions to shared data buffers, resulting in 4x buffer
allocation instead of the intended 2x.

Add a `barrier_only` mode to MultiVersionBuffer so that in the no-WS
path it only versions barrier buffers (for mbarrier parity rewriting),
while data buffer versioning is left to InjectSoftwarePipeline.

Also flatten the if/else branches in OptimizeForTarget into a single
linear flow with a three-way branch (WS / TMA-noWS / noTMA), removing
the duplicated LowerOpaqueBlock call.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [Enhancement] Introduce TMA attribute handling in LowerTileOp and optimization pipeline

- Added a new PrimFunc attribute `tl.has_tma` to indicate whether TMA operations were generated during the lowering process.
- Updated `OptimizeForTarget` to utilize the `tl.has_tma` attribute for determining the appropriate optimization path, enhancing clarity and efficiency in the pipeline.
- Refactored the `module_has_tma` function to check for TMA operations across all functions in the module, streamlining the decision-making process for TMA-related optimizations.

This change improves the maintainability of the code and ensures that TMA operations are correctly accounted for in the optimization pipeline.

* fix

* remove barrier related test for cutedsl.

---------

Co-authored-by: Zhiwen Mo <zm125@ic.ac.uk>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 14:21:57 +08:00
..