[Mlir-commits] [mlir] [MLIR] Add `InParallelOpInterface` for parallel combining operations (PR #157736)
Mehdi Amini
llvmlistbot at llvm.org
Wed Sep 10 10:25:25 PDT 2025
================
@@ -52,8 +53,60 @@ def ParallelCombiningOpInterface : OpInterface<"ParallelCombiningOpInterface"> {
];
// TODO: Single region single block interface on interfaces ?
let verify = [{
- return verifyParallelCombiningOpInterface($_op);
+ return verifyInParallelOpInterface($_op);
+ }];
+}
+
+def ParallelCombiningOpInterface : OpInterface<"ParallelCombiningOpInterface"> {
+ let description = [{
+ A parallel combining op is an operation performs parallel updates to
+ destination tensors within the context of a parent iterating operation.
+
+ This interface is designed for operations that need to coordinate parallel
+ insertions or updates to tensors that are being constructed or modified
+ across multiple parallel iterations. The "updated destination" refers to a
+ destination tensor that accumulates results from parallel computations,
+ where each parallel iteration may contribute a slice, element, or region
+ to the final result.
+
+ One significant use case for this interface is `tensor.parallel_insert_slice`
+ which allows parallel insertion of slices into a destination tensor. But with
+ this interface, other operations that perform similar parallel updates can
+ also be defined.
+
+ This op works within an op implementing the
----------------
joker-eph wrote:
```suggestion
This op works within an op implementing the
```
https://github.com/llvm/llvm-project/pull/157736
More information about the Mlir-commits
mailing list