|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
f48ce52c |
| 14-Jul-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Pattern to clean up vector.extract during distribution
This prevents blocking propagation when converting between scalar and vector<1>
Differential Revision: https://reviews.llvm.org
[mlir][vector] Pattern to clean up vector.extract during distribution
This prevents blocking propagation when converting between scalar and vector<1>
Differential Revision: https://reviews.llvm.org/D129782
show more ...
|
| #
ffa7384f |
| 14-Jul-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Support distribution of vector.reduce with accumulator
Right now the pattern was ignoring the optional accumulator.
Differential Revision: https://reviews.llvm.org/D129719
|
| #
0af26805 |
| 11-Jul-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Add pattern to distribute splat constant
Distribute splat constant out of WarpExecuteOnLane0Op region.
Differential Revision: https://reviews.llvm.org/D129467
|
| #
d7d6443d |
| 11-Jul-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Avoid creating duplicate output in warpOp
Prevent creating multiple output for the same Value when distributing operations out of WarpExecuteOnLane0Op. This avoid creating combinatory
[mlir][vector] Avoid creating duplicate output in warpOp
Prevent creating multiple output for the same Value when distributing operations out of WarpExecuteOnLane0Op. This avoid creating combinatory explosion of outputs.
Differential Revision: https://reviews.llvm.org/D129465
show more ...
|
| #
0660f3c5 |
| 09-Jul-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Relax reduction distribution pattern
Support distributing reductions with vector size multiple of the warp size.
Differential Revision: https://reviews.llvm.org/D129387
|
| #
6a57d8fb |
| 29-Jun-2022 |
Nicolas Vasilache <[email protected]> |
[mlir][vector] Untangle TransferWriteDistribution and avoid crashing in the 0-D case.
This revision avoids a crash in the 0-D case of distributing vector.transfer ops out of vector.warp_execute_on_l
[mlir][vector] Untangle TransferWriteDistribution and avoid crashing in the 0-D case.
This revision avoids a crash in the 0-D case of distributing vector.transfer ops out of vector.warp_execute_on_lane_0. Due to the code complexity and lack of documentation, it took untangling the implementation before realizing that the simple fix was to fail in the 0-D case. The rewrite is still very useful to understand this code better.
Differential Revision: https://reviews.llvm.org/D128793
show more ...
|
|
Revision tags: llvmorg-14.0.6 |
|
| #
08d651d7 |
| 12-Jun-2022 |
Mehdi Amini <[email protected]> |
Apply clang-tidy fixes for performance-unnecessary-value-param in VectorDistribute.cpp (NFC)
|
| #
d343cdd5 |
| 24-Jun-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Fix bug when swapping scf.for and vector warp op
When creating a scf.for without argument a scf.yield is automatically created. Make sure we don't create a second one.
Differential R
[mlir][vector] Fix bug when swapping scf.for and vector warp op
When creating a scf.for without argument a scf.yield is automatically created. Make sure we don't create a second one.
Differential Revision: https://reviews.llvm.org/D128405
show more ...
|
| #
7eba5cdf |
| 24-Jun-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Relax transfer_write vector distribution pattern
Small change to relax the pattern to support any vector containing a single element.
Differential Revision: https://reviews.llvm.org/
[mlir][vector] Relax transfer_write vector distribution pattern
Small change to relax the pattern to support any vector containing a single element.
Differential Revision: https://reviews.llvm.org/D128545
show more ...
|
| #
f6c79c6a |
| 24-Jun-2022 |
Nicolas Vasilache <[email protected]> |
[mlir][Vector]Fix bug where vector::WarpExecuteOnLane0Op are created with 2 blocks in the region
Differential Revision: https://reviews.llvm.org/D128534
|
| #
8b68da2c |
| 17-Jun-2022 |
Alex Zinenko <[email protected]> |
[mlir] move SCF headers to SCF/{IR,Transforms} respectively
This aligns the SCF dialect file layout with the majority of the dialects.
Reviewed By: jpienaar
Differential Revision: https://reviews.
[mlir] move SCF headers to SCF/{IR,Transforms} respectively
This aligns the SCF dialect file layout with the majority of the dialects.
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D128049
show more ...
|
| #
6834803c |
| 15-Jun-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] NFC remove dependency of VectorTransform to GPU dialect
Make the reduction distribution pattern more generic and remove layering problem. The new pattern to distribute reduction is no
[mlir][vector] NFC remove dependency of VectorTransform to GPU dialect
Make the reduction distribution pattern more generic and remove layering problem. The new pattern to distribute reduction is now independent of GPU and takes a lamdba to decide how the distributed reduction should be generated.
Differential Revision: https://reviews.llvm.org/D127867
show more ...
|
|
Revision tags: llvmorg-14.0.5 |
|
| #
087aba4f |
| 07-Jun-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Add pattern to distribute vector reduction to GPU shuffles
Add a pattern to do ad hoc lowering of vector.reduction to a sequence of warp shuffles. This allow distributing reduction on
[mlir][vector] Add pattern to distribute vector reduction to GPU shuffles
Add a pattern to do ad hoc lowering of vector.reduction to a sequence of warp shuffles. This allow distributing reduction on a warp for GPU targets. Also add an execution test for warp reduction.
co-authored with @springerm
Differential Revision: https://reviews.llvm.org/D127176
show more ...
|
| #
76cf33da |
| 14-Jun-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Add patterns to ppropagate vector distribution
Add patterns to propagate vector distribution and remove dead arguments. This handles propagation for several vector operations.
recomm
[mlir][vector] Add patterns to ppropagate vector distribution
Add patterns to propagate vector distribution and remove dead arguments. This handles propagation for several vector operations.
recommit after minor bug fix.
Differential Revision: https://reviews.llvm.org/D127167
show more ...
|
| #
2d32dac8 |
| 13-Jun-2022 |
Thomas Raoux <[email protected]> |
Revert "[mlir][vector] Add patterns to ppropagate vector distribution"
This reverts commit 1c84800c42d2183a29392c175c8d5f20a4be65d2.
This was causing asan crash.
|
| #
1c84800c |
| 06-Jun-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Add patterns to ppropagate vector distribution
Add patterns to propagate vector distribution and remove dead arguments. This handles propagation for several vector operations.
Differ
[mlir][vector] Add patterns to ppropagate vector distribution
Add patterns to propagate vector distribution and remove dead arguments. This handles propagation for several vector operations.
Differential Revision: https://reviews.llvm.org/D127167
show more ...
|
| #
ed0288f7 |
| 06-Jun-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Add patterns for vector distribution
Add pattern to hoist scalar code outside of warp distribute region as those cannot be distributed and we would want to execute them on all the lan
[mlir][vector] Add patterns for vector distribution
Add pattern to hoist scalar code outside of warp distribute region as those cannot be distributed and we would want to execute them on all the lanes. Add patterns to distribute transfer_write ops. Those operations can be distributed in different ways and it is control by user.
Differential Revision: https://reviews.llvm.org/D127152
show more ...
|
|
Revision tags: llvmorg-14.0.4 |
|
| #
d02f10d9 |
| 11-May-2022 |
Thomas Raoux <[email protected]> |
[mlir][vector] Add lowering pattern for vector.warp_execute_on_lane_0 op
Add lowering of the vector.warp_execute_on_lane_0 into scf.if plus memory transfer for the operands and yield values.
This a
[mlir][vector] Add lowering pattern for vector.warp_execute_on_lane_0 op
Add lowering of the vector.warp_execute_on_lane_0 into scf.if plus memory transfer for the operands and yield values.
This also add an integration test running on GPU warp. The same tests can be later re-used with different comment lines to tests distribution transformations.
This is mostly from @springerm contribution.
Differential Revision: https://reviews.llvm.org/D125430
show more ...
|