Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'mc'
[simgrid.git] / include / smpi / smpi.h
index 5270ed3..b990c4b 100644 (file)
@@ -204,7 +204,7 @@ XBT_PUBLIC_DATA( MPI_Datatype ) MPI_INT16_T;
 XBT_PUBLIC_DATA( MPI_Datatype ) MPI_INT32_T;
 XBT_PUBLIC_DATA( MPI_Datatype ) MPI_INT64_T;
 XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UINT8_T;
-#define MPI_BYTE MPI_UINT8_T
+XBT_PUBLIC_DATA( MPI_Datatype ) MPI_BYTE;
 XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UINT16_T;
 XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UINT32_T;
 XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UINT64_T;
@@ -225,6 +225,20 @@ XBT_PUBLIC_DATA(MPI_Datatype) MPI_2INT;
 XBT_PUBLIC_DATA(MPI_Datatype) MPI_LONG_DOUBLE_INT;
 XBT_PUBLIC_DATA(MPI_Datatype) MPI_2FLOAT;
 XBT_PUBLIC_DATA(MPI_Datatype) MPI_2DOUBLE;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_2LONG;//only for compatibility with Fortran
+
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_REAL4;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_REAL8;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_REAL16;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_COMPLEX8;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_COMPLEX16;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_COMPLEX32;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_INTEGER1;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_INTEGER2;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_INTEGER4;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_INTEGER8;
+XBT_PUBLIC_DATA(MPI_Datatype) MPI_INTEGER16;
+
 //for now we only send int values at max
 #define MPI_Count int
 #define MPI_COUNT MPI_INT
@@ -239,14 +253,7 @@ XBT_PUBLIC_DATA(MPI_Datatype) MPI_2DOUBLE;
   #define MPI_2INTEGER MPI_2LONG
   #define MPI_LOGICAL MPI_LONG
 #endif
-#define MPI_INTEGER1 MPI_INT
-#define MPI_INTEGER2 MPI_INT16_T
-#define MPI_INTEGER4 MPI_INT32_T
-#define MPI_INTEGER8 MPI_INT64_T
-#define MPI_REAL MPI_FLOAT
-#define MPI_REAL4 MPI_FLOAT
-#define MPI_REAL8 MPI_DOUBLE
-#define MPI_REAL16 MPI_DOUBLE
+
 #define MPI_COMPLEX MPI_C_FLOAT_COMPLEX
 #define MPI_DOUBLE_COMPLEX MPI_C_DOUBLE_COMPLEX
 #define MPI_LOGICAL1 MPI_UINT8_T
@@ -257,9 +264,7 @@ XBT_PUBLIC_DATA(MPI_Datatype) MPI_2DOUBLE;
 #define MPI_CHARACTER MPI_CHAR
 #define MPI_DOUBLE_PRECISION MPI_DOUBLE
 #define MPI_2DOUBLE_PRECISION MPI_2DOUBLE
-#define MPI_COMPLEX8 MPI_DATATYPE_NULL
-#define MPI_COMPLEX16 MPI_DATATYPE_NULL
-#define MPI_COMPLEX32 MPI_DATATYPE_NULL
+
 
 
 typedef void MPI_User_function(void *invec, void *inoutvec, int *len,
@@ -563,9 +568,9 @@ MPI_CALL(XBT_PUBLIC(int), MPI_Reduce_local,(void *inbuf, void *inoutbuf, int cou
     MPI_Datatype datatype, MPI_Op op));
 
 MPI_CALL(XBT_PUBLIC(int), MPI_Win_free,( MPI_Win* win));
-
 MPI_CALL(XBT_PUBLIC(int), MPI_Win_create,( void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win));
-
+MPI_CALL(XBT_PUBLIC(int), MPI_Win_set_name,(MPI_Win  win, char * name));
+MPI_CALL(XBT_PUBLIC(int), MPI_Win_get_name,(MPI_Win  win, char * name, int* len));
 MPI_CALL(XBT_PUBLIC(int), MPI_Win_fence,( int assert,  MPI_Win win));
 
 MPI_CALL(XBT_PUBLIC(int), MPI_Get,( void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,