[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