X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fc0a76c21f0bceb0314aee5d62f785ea8009495e..6a1582e115b08d0012c289028cab7cd112167e3a:/include/smpi/smpi.h diff --git a/include/smpi/smpi.h b/include/smpi/smpi.h index 788e00189c..34ec68e228 100644 --- a/include/smpi/smpi.h +++ b/include/smpi/smpi.h @@ -100,24 +100,6 @@ SG_BEGIN_DECL() #define MPI_CXX_DOUBLE_COMPLEX MPI_DATATYPE_NULL #define MPI_CXX_LONG_DOUBLE_COMPLEX MPI_DATATYPE_NULL -#define MPI_REAL4 MPI_DATATYPE_NULL -#define MPI_REAL8 MPI_DATATYPE_NULL -#define MPI_REAL16 MPI_DATATYPE_NULL -#define MPI_COMPLEX8 MPI_DATATYPE_NULL -#define MPI_COMPLEX16 MPI_DATATYPE_NULL -#define MPI_COMPLEX32 MPI_DATATYPE_NULL -#define MPI_INTEGER1 MPI_DATATYPE_NULL -#define MPI_INTEGER2 MPI_DATATYPE_NULL -#define MPI_INTEGER4 MPI_DATATYPE_NULL -#define MPI_INTEGER8 MPI_DATATYPE_NULL -#define MPI_COMPLEX MPI_DATATYPE_NULL -#define MPI_DOUBLE_COMPLEX MPI_DATATYPE_NULL -#define MPI_2DOUBLE_PRECISION MPI_DATATYPE_NULL -#define MPI_REAL MPI_DATATYPE_NULL -#define MPI_LOGICAL MPI_DATATYPE_NULL -#define MPI_DOUBLE_PRECISION MPI_DATATYPE_NULL -#define MPI_INTEGER MPI_DATATYPE_NULL - #define MPI_DISTRIBUTE_BLOCK 0 #define MPI_DISTRIBUTE_NONE 1 #define MPI_DISTRIBUTE_CYCLIC 2 @@ -222,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; @@ -243,10 +225,48 @@ 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 +//defines for fortran compatibility +#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__) + #define MPI_INTEGER MPI_INT + #define MPI_2INTEGER MPI_2INT + #define MPI_LOGICAL MPI_INT +#else + #define MPI_INTEGER MPI_LONG + #define MPI_2INTEGER MPI_2LONG + #define MPI_LOGICAL MPI_LONG +#endif + +#define MPI_COMPLEX MPI_C_FLOAT_COMPLEX +#define MPI_DOUBLE_COMPLEX MPI_C_DOUBLE_COMPLEX +#define MPI_LOGICAL1 MPI_UINT8_T +#define MPI_LOGICAL2 MPI_UINT16_T +#define MPI_LOGICAL4 MPI_UINT32_T +#define MPI_LOGICAL8 MPI_UINT64_T +#define MPI_2REAL MPI_2FLOAT +#define MPI_CHARACTER MPI_CHAR +#define MPI_DOUBLE_PRECISION MPI_DOUBLE +#define MPI_2DOUBLE_PRECISION MPI_2DOUBLE + + + typedef void MPI_User_function(void *invec, void *inoutvec, int *len, MPI_Datatype * datatype); struct s_smpi_mpi_op;