Commit 63f3432
authored
[WS] Update RewritePartitionDepdencies to insert arefs (#7561)
* Integrates Remove Rewrite multiplicity
([PR7371](triton-lang/triton#7371))
* Teaches `RewritePartitionDependencies` to insert arefs.
* ~~Lower `nvws::async_complete` to `mbarrier.arrive`/`tcgen05.commit`~~
[`lower-aref` directly lowers to `ttng.arrive/commit`]
~~We currently cannot lower `nvws::async_complete` to `mbarrier.arrive`
because the `LowerAref` pass computes the arrival count using
`num_warps`, which may be modified later by the `OptimizePartitionWarps`
pass. The arrival count then disagrees with the actual number of threads
in the group, leading to hang.~~ `nvws::async_complete` is removed
Data indicates that using multi-threaded `mbarrier.arrive` yields
meaningful performance improvements, compated to singe-threaded
`ttng.arrive_barrier` (see tables below in comments). However, resolving
this issue is orthogonal to the current PR and will be addressed in a
follow-up.
<!---
The core Triton is a small number of people, and we receive many PRs
(thank
you!). To help us review your code more quickly, **if you are a new
contributor (less than 3 PRs merged) we ask that you complete the
following
tasks and include the filled-out checklist in your PR description.**
Complete the following tasks before sending your PR, and replace `[ ]`
with
`[x]` to indicate you have done them.
-->
# New contributor declaration
- [X] I am not making a trivial change, such as fixing a typo in a
comment.
- [X] I have written a PR description following these
[rules](https://cbea.ms/git-commit/#why-not-how).
- [X] I have run `pre-commit run --from-ref origin/main --to-ref HEAD`.
- Select one of the following.
- [X] I have added tests.
- `/test` for `lit` tests
- `/unittest` for C++ tests
- `/python/test` for end-to-end tests
- [ ] This PR does not need a test because `FILL THIS IN`.
- Select one of the following.
- [ ] I have not added any `lit` tests.
- [X] The `lit` tests I have added follow these [best
practices](https://mlir.llvm.org/getting_started/TestingGuide/#filecheck-best-practices),
including the "tests should be minimal" section. (Usually running Python
code
and using the instructions it generates is not minimal.)1 parent 6a6ed52 commit 63f3432
File tree
13 files changed
+542
-919
lines changed- include/triton/Dialect/TritonGPU/Transforms
- lib/Dialect/TritonGPU/Transforms/WarpSpecialization
- test
- NVWS
- TritonGPU
- third_party/nvidia
- include/Dialect/NVWS/IR
- lib/Dialect/NVWS
- IR
- Transforms
13 files changed
+542
-919
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
| 133 | + | |
| 134 | + | |
134 | 135 | | |
135 | 136 | | |
136 | 137 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
| 46 | + | |
| 47 | + | |
45 | 48 | | |
46 | 49 | | |
47 | 50 | | |
| |||
Lines changed: 0 additions & 51 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
244 | | - | |
245 | 194 | | |
246 | 195 | | |
247 | 196 | | |
| |||
Lines changed: 0 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
499 | 499 | | |
500 | 500 | | |
501 | 501 | | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | 502 | | |
0 commit comments