[Mlir-commits] [mlir] [mlir][mpi] Mandatory Communicator (PR #133280)

Christian Ulmann llvmlistbot at llvm.org
Mon Mar 31 08:51:29 PDT 2025


Sergio =?utf-8?q?Sánchez_Ramírez?=,
Sergio =?utf-8?q?Sánchez_Ramírez?=,
Sergio =?utf-8?q?Sánchez_Ramírez?=,
Sergio =?utf-8?q?Sánchez_Ramírez?=,
Sergio =?utf-8?q?Sánchez_Ramírez?=,"Schlimbach, Frank"
 <frank.schlimbach at intel.com>,"Schlimbach, Frank" <frank.schlimbach at intel.com>
 =?utf-8?q?,?=Frank Schlimbach <frank.schlimbach at intel.com>,Frank
 Schlimbach <frank.schlimbach at intel.com>,"Schlimbach, Frank"
 <frank.schlimbach at intel.com>,"Schlimbach, Frank" <frank.schlimbach at intel.com>
 =?utf-8?q?,?="Schlimbach, Frank" <frank.schlimbach at intel.com>,Schlimbach,
 Frank <frank.schlimbach at intel.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/133280 at github.com>


================
@@ -37,26 +37,41 @@ def MPI_InitOp : MPI_Op<"init", []> {
   let assemblyFormat = "attr-dict (`:` type($retval)^)?";
 }
 
+//===----------------------------------------------------------------------===//
+// CommWorldOp
+//===----------------------------------------------------------------------===//
+
+def MPI_CommWorldOp : MPI_Op<"comm_world", []> {
+  let summary = "Get the World communicator, equivalent to `MPI_COMM_WORLD`";
+  let description = [{
+    This operation returns the predefined MPI_COMM_WORLD communicator.
+  }];
+
+  let results = (outs MPI_Comm : $comm);
+
+  let assemblyFormat = "attr-dict `:` type(results)";
+}
+
 //===----------------------------------------------------------------------===//
 // CommRankOp
 //===----------------------------------------------------------------------===//
 
 def MPI_CommRankOp : MPI_Op<"comm_rank", []> {
   let summary = "Get the current rank, equivalent to "
-                "`MPI_Comm_rank(MPI_COMM_WORLD, &rank)`";
+                "`MPI_Comm_rank(comm, &rank)`";
   let description = [{
-    Communicators other than `MPI_COMM_WORLD` are not supported for now.
-
     This operation can optionally return an `!mpi.retval` value that can be used
     to check for errors.
   }];
 
+  let arguments = (ins MPI_Comm : $comm);
+
   let results = (
     outs Optional<MPI_Retval> : $retval,
     I32 : $rank
   );
 
-  let assemblyFormat = "attr-dict `:` type(results)";
+  let assemblyFormat = "`(` $comm  `)` attr-dict `:` type(results)";
----------------
Dinistro wrote:

```suggestion
  let assemblyFormat = "`(` $comm `)` attr-dict `:` type(results)";
```

https://github.com/llvm/llvm-project/pull/133280


More information about the Mlir-commits mailing list