Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Pretend we support MPI 3.1.
authorAugustin Degomme <adegomme@users.noreply.github.com>
Sun, 14 Apr 2019 16:15:26 +0000 (18:15 +0200)
committerAugustin Degomme <adegomme@users.noreply.github.com>
Sun, 14 Apr 2019 16:15:51 +0000 (18:15 +0200)
We don't support all of it, obviously, but what we have may be enough for some codes.

include/smpi/mpif.h.in
include/smpi/smpi.h
teshsuite/smpi/mpich3-test/runtests
teshsuite/smpi/mpich3-test/util/mtest.c

index 68d4777..a482089 100644 (file)
@@ -35,8 +35,8 @@
       parameter(MPI_SOURCE=1)
       parameter(MPI_TAG=2)
       parameter(MPI_ERROR=3)
-      parameter(MPI_VERSION=2)
-      parameter(MPI_SUBVERSION=2)
+      parameter(MPI_VERSION=3)
+      parameter(MPI_SUBVERSION=1)
       parameter(MPI_LOCK_EXCLUSIVE=1)
       parameter(MPI_LOCK_SHARED=2)
       integer MPI_MODE_NOSTORE, MPI_MODE_NOPUT, MPI_MODE_NOPRECEDE
index 605a37a..1f19913 100644 (file)
@@ -180,8 +180,8 @@ enum ERROR_ENUM {
 #define MPI_COMM_TYPE_SHARED    1
 #define MPI_WIN_NULL ((MPI_Win)NULL)
 
-#define MPI_VERSION 2
-#define MPI_SUBVERSION 2
+#define MPI_VERSION 3
+#define MPI_SUBVERSION 1
 #define MPI_UNWEIGHTED      (int *)0
 #define MPI_ARGV_NULL (char **)0
 #define MPI_ARGVS_NULL (char ***)0
@@ -777,7 +777,7 @@ typedef void MPI_Win_errhandler_function(MPI_Win *, int *, ...);
 typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn;
 typedef MPI_File_errhandler_function MPI_File_errhandler_fn;
 typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn;
-#define MPI_INFO_ENV 1
+#define MPI_INFO_ENV smpi_process_info_env()
 XBT_PUBLIC_DATA const MPI_Datatype MPI_PACKED;
 XBT_PUBLIC_DATA MPI_Errhandler* MPI_ERRORS_RETURN;
 XBT_PUBLIC_DATA MPI_Errhandler* MPI_ERRORS_ARE_FATAL;
@@ -965,6 +965,7 @@ MPI_CALL(XBT_PUBLIC int, MPI_File_sync, (MPI_File fh));
 // smpi functions
 XBT_PUBLIC int smpi_global_size();
 XBT_PUBLIC MPI_Comm smpi_process_comm_self();
+XBT_PUBLIC MPI_Info smpi_process_info_env();
 XBT_PUBLIC void* smpi_process_get_user_data();
 XBT_PUBLIC void smpi_process_set_user_data(void*);
 
index e0a3712..d2fb8c8 100755 (executable)
@@ -40,8 +40,8 @@
 use File::Path;
 
 # Global variables
-$MPIMajorVersion = "2";
-$MPIMinorVersion = "2";
+$MPIMajorVersion = "3";
+$MPIMinorVersion = "1";
 $mpiexec = "smpirun";    # Name of mpiexec program (including path, if necessary)
 $testIsStrict = "true";
 $MPIhasMPIX   = "no";
index 23af52b..4f20aab 100644 (file)
@@ -340,7 +340,7 @@ int MTestGetIntracommGeneral(MPI_Comm * comm, int min_size, int allowSmaller)
             break;
         case 5:
             {
-#if MTEST_HAVE_MIN_MPI_VERSION(3,0)
+#if MTEST_HAVE_MIN_MPI_VERSION(4,0)
                 /* Dup of the world using MPI_Intercomm_merge */
                 int rleader, isLeft;
                 MPI_Comm local_comm, inter_comm;