[Mlir-commits] [mlir] [mlir][mpi] Lowering MPI_Allreduce (PR #133133)

Sergio Sánchez Ramírez llvmlistbot at llvm.org
Thu Mar 27 08:52:29 PDT 2025


================
@@ -205,15 +291,74 @@ class OMPIImplTraits : public MPIImplTraits {
 
     auto context = rewriter.getContext();
     // get external opaque struct pointer type
-    auto commStructT =
+    auto typeStructT =
         LLVM::LLVMStructType::getOpaque("ompi_predefined_datatype_t", context);
     // make sure global op definition exists
-    getOrDefineExternalStruct(loc, rewriter, mtype, commStructT);
+    getOrDefineExternalStruct(loc, rewriter, mtype, typeStructT);
     // get address of symbol
     return rewriter.create<LLVM::AddressOfOp>(
         loc, LLVM::LLVMPointerType::get(context),
         SymbolRefAttr::get(context, mtype));
   }
+
+  Value getMPIOp(const Location loc, ConversionPatternRewriter &rewriter,
+                 mpi::MPI_OpClassEnum opAttr) override {
+    StringRef op;
+    switch (opAttr) {
+    case mpi::MPI_OpClassEnum::MPI_OP_NULL:
+      op = "ompi_mpi_no_op";
----------------
mofeing wrote:

aren't these the symbols of OpenMPI?

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


More information about the Mlir-commits mailing list