Simplify the lowering of warp_execute_on_lane0 of scf.if by making the
logic more generic. Also remove the assumption that the most inner
dimension is the dimension distributed.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Nice!
Please check no regressions in IREE and add new tests if something flares up.
Thanks!
mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp | ||
---|---|---|
36 | perm.reserve(...) | |
37 | There is no yield value here, just use seq and dist types plz. | |
46 | Shouldn't there be some sanity checks here and described in the doc? I.e. things that divide modulo warp size, size(perm) == rank || size(perm) == rank - 1 etc ? |
mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp | ||
---|---|---|
58 | nit: inferred |
mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp | ||
---|---|---|
46 | The checks are already there in the verifier so duplicating it wouldn't make a lot of sense. I added an assert checking that only one dim is distributed since this code wouldn't work otherwise. |
perm.reserve(...)