]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
Build MEDCOUPLING with native openmpi on CentOS-8
authorrnv <rnv@opencascade.com>
Mon, 3 Aug 2020 18:59:06 +0000 (21:59 +0300)
committerrnv <rnv@opencascade.com>
Tue, 4 Aug 2020 09:53:09 +0000 (12:53 +0300)
src/ParaMEDMEMTest/MPI2Connector.cxx

index 9b7844ad20457709e681fbbb4a4c5e41cea3581a..87b16bfb24419b64d54e43f132831ec307c57f70 100644 (file)
 #include <unistd.h>
 #endif
 
+#if OMPI_MAJOR_VERSION >= 4
+#define MPI_ERROR_HANDLER(var) MPI_Comm_set_errhandler(MPI_COMM_WORLD, var);
+#else
+#define MPI_ERROR_HANDLER(var) MPI_Errhandler_set(MPI_COMM_WORLD, var);
+#endif
+
 MPI2Connector::MPI2Connector()
 {
   MPI_Comm_size( MPI_COMM_WORLD, &_nb_proc );
@@ -54,8 +60,7 @@ MPI_Comm MPI2Connector::remoteMPI2Connect(const std::string& service)
   _srv = false;
 
   MPI_Barrier(MPI_COMM_WORLD);
-
-  MPI_Errhandler_set(MPI_COMM_WORLD, MPI_ERRORS_RETURN);
+  MPI_ERROR_HANDLER(MPI_ERRORS_RETURN);
   if( _num_proc == 0 )
     { 
       /* rank 0 try to be a server. If service is already published, try to be a cient */
@@ -104,7 +109,7 @@ MPI_Comm MPI2Connector::remoteMPI2Connect(const std::string& service)
           throw std::exception();
         }
     }
-  MPI_Errhandler_set(MPI_COMM_WORLD, MPI_ERRORS_ARE_FATAL);
+  MPI_ERROR_HANDLER(MPI_ERRORS_ARE_FATAL);
   
   /* If rank 0 is server, all processes call MPI_Comm_accept */
   /* If rank 0 is not server, all processes call MPI_Comm_connect */