-
Notifications
You must be signed in to change notification settings - Fork 120
[TLE] barrier & wgmma pipeline with user promising support in hopper #707
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
zhzhcookie
merged 26 commits into
flagos-ai:triton_v3.6.x
from
Kafka-Hatsune:tle-wgmma-user-promise
Jul 7, 2026
Merged
Changes from all commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
e3af736
[TLE] Add GPU barrier lowering and named barrier allocation
Kafka-Hatsune 6e5689b
[TLE] Add producer-consumer async task frontend
Kafka-Hatsune 34289bf
[TLE] Allow TMA copy completion barriers
Kafka-Hatsune 7010685
[TLE] Add Hopper WGMMA frontend and lowering
Kafka-Hatsune 598f5f0
[FlagTree]: add fa&gemm test using flagtree hopper fea
62c039c
[TLE] Add user-promise WGMMA pipeline routing
Kafka-Hatsune a08efc0
[FlagTree]: add CUDAGraph test in fa3 tutorial.
Kafka-Hatsune 7b3bf25
[FlagTree]: fix sh script warmup and rep to get testing stability
Kafka-Hatsune 6e912a0
Fix HCU mixed NVIDIA lowering build
Kafka-Hatsune b82345c
Fix:upstream tle.gpu.warp_specialize to original
Kafka-Hatsune 9d9d560
[pre-commit]: style
Kafka-Hatsune cd19ae1
Guard TLE-only barrier compiler changes
Kafka-Hatsune 11f9ca6
Handle explicit TMA barrier backend limits
Kafka-Hatsune 3b4073f
remove "warp_group_start_id" arg in warp spec api
Kafka-Hatsune abc69cd
fix: update TLE async task WGMMA test
Kafka-Hatsune a3e7dfb
fix: inline TLE warp_specialize user-promise regions
Kafka-Hatsune a76a912
test: use warp_specialize in TLE WS TMA GEMM
Kafka-Hatsune 2aeac2c
fix test in hcu ci
Kafka-Hatsune dac38bf
Merge branch 'triton_v3.6.x' into tle-wgmma-user-promise
Kafka-Hatsune 503e63d
fix: test pipeline assert, needs xx = yy not xx = yy
Kafka-Hatsune e8c3213
Merge branch 'tle-wgmma-user-promise' of github.com:Kafka-Hatsune/Fla…
Kafka-Hatsune 6a60ff5
fix upstream main codebase
Kafka-Hatsune 449a162
[TLE] remove async_task and replica_id API
Kafka-Hatsune 8894b09
clean uses of async_task in test
Kafka-Hatsune 9584d2f
Merge branch 'triton_v3.6.x' into tle-wgmma-user-promise
Kafka-Hatsune 05b2c05
Merge branch 'triton_v3.6.x' into tle-wgmma-user-promise
Kafka-Hatsune File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
40 changes: 40 additions & 0 deletions
40
lib/Dialect/TritonGPU/Transforms/Pipeliner/TleWGMMAUserPromisePipeline.cpp
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| #ifdef __TLE__ | ||
| #include "TleWGMMAAnalysis.h" | ||
| #include "mlir/Dialect/SCF/IR/SCF.h" | ||
| #include "mlir/IR/Builders.h" | ||
| #include "mlir/IR/PatternMatch.h" | ||
| #include "mlir/Support/LLVM.h" | ||
| #include "triton/Dialect/TritonNvidiaGPU/IR/Dialect.h" | ||
| #include "llvm/ADT/STLExtras.h" | ||
|
|
||
| using namespace mlir; | ||
| namespace ttng = mlir::triton::nvidia_gpu; | ||
|
|
||
| namespace mlir::triton::gpu::detail { | ||
|
|
||
| static constexpr llvm::StringLiteral | ||
| kTleExplicitWgmmaCommitAttr("tle.explicit_wgmma_commit"); | ||
|
|
||
| void scheduleTleWgmmaUserPromisePipeline(scf::ForOp forOp) { | ||
| IRRewriter builder(forOp.getContext()); | ||
| SmallVector<ttng::WarpGroupDotOp, 8> dots; | ||
| forOp.getBody()->walk([&](ttng::WarpGroupDotOp dot) { | ||
| if (dot->getParentOfType<scf::ForOp>() == forOp) | ||
| dots.push_back(dot); | ||
| }); | ||
|
|
||
| for (ttng::WarpGroupDotOp dot : llvm::make_early_inc_range(dots)) { | ||
| dot.setIsAsync(true); | ||
| dot->setAttr(kTleExplicitWgmmaCommitAttr, builder.getUnitAttr()); | ||
|
|
||
| Operation *next = dot->getNextNode(); | ||
| if (next && isa<ttng::WarpGroupDotCommitOp>(next)) | ||
| continue; | ||
|
|
||
| builder.setInsertionPointAfter(dot); | ||
| ttng::WarpGroupDotCommitOp::create(builder, dot.getLoc()); | ||
| } | ||
| } | ||
|
|
||
| } // namespace mlir::triton::gpu::detail | ||
| #endif // __TLE__ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.