llvm-project
f2e6ca80 - [MLIR][Vector] Add warp distribution for `vector.step` op (#155425)

Commit
33 days ago
[MLIR][Vector] Add warp distribution for `vector.step` op (#155425) This PR adds a distribution pattern for [`vector.step`](https://mlir.llvm.org/docs/Dialects/Vector/#vectorstep-vectorstepop) op. The result of the step op is a vector containing a sequence `[0,1,...,N-1]`. For the warp distribution, we consider a vector with `N == warp_size` (think SIMD). Distributing it to SIMT, means that each lane is represented by a thread/lane id scalar. More complex cases with the support for warp size multiples (e.g., `[0,1,...,2*N-1]`) require additional layout information to be handled properly. Such support may be added later. The lane id scalar is wrapped into a `vector<1xindex>` to emulate the sequence distribution result. Other than that, the distribution is similar to that of `arith.constant`.
Author
Parents
Loading