[Mlir-commits] [mlir] [mlir][vector] Add support for `vector.multi_reduction` and `vector.shape_cast` distribution. (PR #154438)
Adam Siemieniuk
llvmlistbot at llvm.org
Wed Aug 20 02:28:19 PDT 2025
================
@@ -1996,6 +2027,113 @@ struct WarpOpReduction : public WarpDistributionPattern {
DistributedReductionFn distributedReductionFn;
};
+// This patterns distribute the `vector.multi_reduction` operation across
+// lanes in a warp. Currently only 2D to 1D reductions are supported and assumes
+// that source vector is distributed in column dimension (i.e. Each lane owns
+// complete column(s) of the source vector).
+// TODO: Add support for the case where source rows are distributed across
+// lanes. Requires `DistributionMapFn` to express the data distribution.
+struct VectorMultiDimReductionDistribution : public WarpDistributionPattern {
+ VectorMultiDimReductionDistribution(MLIRContext *context,
+ PatternBenefit benefit = 1)
+ : WarpDistributionPattern(context, benefit) {}
----------------
adam-smnk wrote:
nit: `using Base::Base;`
https://github.com/llvm/llvm-project/pull/154438
More information about the Mlir-commits
mailing list