X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4bb73cb3914b5f7b77a9ec1f8abe728e637cc016..25e228f53f694b5b97674343dac6f44f6fc1f73f:/include/smpi/smpi.h diff --git a/include/smpi/smpi.h b/include/smpi/smpi.h index 324f0923e8..bccb165e6d 100644 --- a/include/smpi/smpi.h +++ b/include/smpi/smpi.h @@ -8,10 +8,6 @@ #include #include -#if _POSIX_TIMERS -#include -#endif - #include #include #include @@ -226,63 +222,63 @@ typedef SMPI_Info* MPI_Info; #define MPI_STATUSES_IGNORE ((MPI_Status*)NULL) #define MPI_DATATYPE_NULL ((const MPI_Datatype)NULL) -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_CHAR; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_SHORT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LONG; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LONG_LONG; +XBT_PUBLIC_DATA const MPI_Datatype MPI_CHAR; +XBT_PUBLIC_DATA const MPI_Datatype MPI_SHORT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_INT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_LONG; +XBT_PUBLIC_DATA const MPI_Datatype MPI_LONG_LONG; #define MPI_LONG_LONG_INT MPI_LONG_LONG -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_SIGNED_CHAR; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UNSIGNED_CHAR; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UNSIGNED_SHORT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UNSIGNED; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UNSIGNED_LONG; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UNSIGNED_LONG_LONG; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_FLOAT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_DOUBLE; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LONG_DOUBLE; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_WCHAR; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_C_BOOL; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INT8_T; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INT16_T; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INT32_T; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INT64_T; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UINT8_T; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_BYTE; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UINT16_T; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UINT32_T; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UINT64_T; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_C_FLOAT_COMPLEX; +XBT_PUBLIC_DATA const MPI_Datatype MPI_SIGNED_CHAR; +XBT_PUBLIC_DATA const MPI_Datatype MPI_UNSIGNED_CHAR; +XBT_PUBLIC_DATA const MPI_Datatype MPI_UNSIGNED_SHORT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_UNSIGNED; +XBT_PUBLIC_DATA const MPI_Datatype MPI_UNSIGNED_LONG; +XBT_PUBLIC_DATA const MPI_Datatype MPI_UNSIGNED_LONG_LONG; +XBT_PUBLIC_DATA const MPI_Datatype MPI_FLOAT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_DOUBLE; +XBT_PUBLIC_DATA const MPI_Datatype MPI_LONG_DOUBLE; +XBT_PUBLIC_DATA const MPI_Datatype MPI_WCHAR; +XBT_PUBLIC_DATA const MPI_Datatype MPI_C_BOOL; +XBT_PUBLIC_DATA const MPI_Datatype MPI_INT8_T; +XBT_PUBLIC_DATA const MPI_Datatype MPI_INT16_T; +XBT_PUBLIC_DATA const MPI_Datatype MPI_INT32_T; +XBT_PUBLIC_DATA const MPI_Datatype MPI_INT64_T; +XBT_PUBLIC_DATA const MPI_Datatype MPI_UINT8_T; +XBT_PUBLIC_DATA const MPI_Datatype MPI_BYTE; +XBT_PUBLIC_DATA const MPI_Datatype MPI_UINT16_T; +XBT_PUBLIC_DATA const MPI_Datatype MPI_UINT32_T; +XBT_PUBLIC_DATA const MPI_Datatype MPI_UINT64_T; +XBT_PUBLIC_DATA const MPI_Datatype MPI_C_FLOAT_COMPLEX; #define MPI_C_COMPLEX MPI_C_FLOAT_COMPLEX -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_C_DOUBLE_COMPLEX; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_C_LONG_DOUBLE_COMPLEX; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_AINT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_OFFSET; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LB; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UB; +XBT_PUBLIC_DATA const MPI_Datatype MPI_C_DOUBLE_COMPLEX; +XBT_PUBLIC_DATA const MPI_Datatype MPI_C_LONG_DOUBLE_COMPLEX; +XBT_PUBLIC_DATA const MPI_Datatype MPI_AINT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_OFFSET; +XBT_PUBLIC_DATA const MPI_Datatype MPI_LB; +XBT_PUBLIC_DATA const MPI_Datatype MPI_UB; //The following are datatypes for the MPI functions MPI_MAXLOC and MPI_MINLOC. -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_FLOAT_INT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LONG_INT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_DOUBLE_INT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_SHORT_INT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_2INT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LONG_DOUBLE_INT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_2FLOAT; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_2DOUBLE; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_2LONG;//only for compatibility with Fortran - -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_REAL; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_REAL4; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_REAL8; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_REAL16; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_COMPLEX8; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_COMPLEX16; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_COMPLEX32; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER1; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER2; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER4; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER8; -XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER16; +XBT_PUBLIC_DATA const MPI_Datatype MPI_FLOAT_INT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_LONG_INT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_DOUBLE_INT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_SHORT_INT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_2INT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_LONG_DOUBLE_INT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_2FLOAT; +XBT_PUBLIC_DATA const MPI_Datatype MPI_2DOUBLE; +XBT_PUBLIC_DATA const MPI_Datatype MPI_2LONG; // only for compatibility with Fortran + +XBT_PUBLIC_DATA const MPI_Datatype MPI_REAL; +XBT_PUBLIC_DATA const MPI_Datatype MPI_REAL4; +XBT_PUBLIC_DATA const MPI_Datatype MPI_REAL8; +XBT_PUBLIC_DATA const MPI_Datatype MPI_REAL16; +XBT_PUBLIC_DATA const MPI_Datatype MPI_COMPLEX8; +XBT_PUBLIC_DATA const MPI_Datatype MPI_COMPLEX16; +XBT_PUBLIC_DATA const MPI_Datatype MPI_COMPLEX32; +XBT_PUBLIC_DATA const MPI_Datatype MPI_INTEGER1; +XBT_PUBLIC_DATA const MPI_Datatype MPI_INTEGER2; +XBT_PUBLIC_DATA const MPI_Datatype MPI_INTEGER4; +XBT_PUBLIC_DATA const MPI_Datatype MPI_INTEGER8; +XBT_PUBLIC_DATA const MPI_Datatype MPI_INTEGER16; //for now we only send int values at max #define MPI_Count int @@ -316,32 +312,32 @@ typedef void MPI_User_function(void *invec, void *inoutvec, int *len, MPI_Dataty typedef SMPI_Op *MPI_Op; #define MPI_OP_NULL ((MPI_Op)NULL) -XBT_PUBLIC_DATA( MPI_Op ) MPI_MAX; -XBT_PUBLIC_DATA( MPI_Op ) MPI_MIN; -XBT_PUBLIC_DATA( MPI_Op ) MPI_MAXLOC; -XBT_PUBLIC_DATA( MPI_Op ) MPI_MINLOC; -XBT_PUBLIC_DATA( MPI_Op ) MPI_SUM; -XBT_PUBLIC_DATA( MPI_Op ) MPI_PROD; -XBT_PUBLIC_DATA( MPI_Op ) MPI_LAND; -XBT_PUBLIC_DATA( MPI_Op ) MPI_LOR; -XBT_PUBLIC_DATA( MPI_Op ) MPI_LXOR; -XBT_PUBLIC_DATA( MPI_Op ) MPI_BAND; -XBT_PUBLIC_DATA( MPI_Op ) MPI_BOR; -XBT_PUBLIC_DATA( MPI_Op ) MPI_BXOR; +XBT_PUBLIC_DATA MPI_Op MPI_MAX; +XBT_PUBLIC_DATA MPI_Op MPI_MIN; +XBT_PUBLIC_DATA MPI_Op MPI_MAXLOC; +XBT_PUBLIC_DATA MPI_Op MPI_MINLOC; +XBT_PUBLIC_DATA MPI_Op MPI_SUM; +XBT_PUBLIC_DATA MPI_Op MPI_PROD; +XBT_PUBLIC_DATA MPI_Op MPI_LAND; +XBT_PUBLIC_DATA MPI_Op MPI_LOR; +XBT_PUBLIC_DATA MPI_Op MPI_LXOR; +XBT_PUBLIC_DATA MPI_Op MPI_BAND; +XBT_PUBLIC_DATA MPI_Op MPI_BOR; +XBT_PUBLIC_DATA MPI_Op MPI_BXOR; //For accumulate -XBT_PUBLIC_DATA( MPI_Op ) MPI_REPLACE; -XBT_PUBLIC_DATA( MPI_Op ) MPI_NO_OP; +XBT_PUBLIC_DATA MPI_Op MPI_REPLACE; +XBT_PUBLIC_DATA MPI_Op MPI_NO_OP; typedef SMPI_Group* MPI_Group; #define MPI_GROUP_NULL ((MPI_Group)NULL) -XBT_PUBLIC_DATA( MPI_Group ) MPI_GROUP_EMPTY; +XBT_PUBLIC_DATA MPI_Group MPI_GROUP_EMPTY; typedef SMPI_Comm* MPI_Comm; #define MPI_COMM_NULL ((MPI_Comm)NULL) -XBT_PUBLIC_DATA( MPI_Comm ) MPI_COMM_WORLD; +XBT_PUBLIC_DATA MPI_Comm MPI_COMM_WORLD; #define MPI_COMM_SELF smpi_process_comm_self() typedef SMPI_Request* MPI_Request; @@ -707,10 +703,10 @@ 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 -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; -XBT_PUBLIC_DATA(MPI_Errhandler*) MPI_ERRHANDLER_NULL; +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; +XBT_PUBLIC_DATA MPI_Errhandler* MPI_ERRHANDLER_NULL; MPI_CALL(XBT_PUBLIC MPI_Errhandler, MPI_Errhandler_f2c, (MPI_Fint errhandler)); MPI_CALL(XBT_PUBLIC MPI_Fint, MPI_Errhandler_c2f, (MPI_Errhandler errhandler)); @@ -919,13 +915,7 @@ XBT_PUBLIC int smpi_get_host_pstate(); XBT_PUBLIC double smpi_get_host_consumed_energy(); -XBT_PUBLIC int smpi_usleep(useconds_t usecs); -#if _POSIX_TIMERS > 0 -XBT_PUBLIC int smpi_nanosleep(const struct timespec* tp, struct timespec* t); -XBT_PUBLIC int smpi_clock_gettime(clockid_t clk_id, struct timespec* tp); -#endif -XBT_PUBLIC unsigned int smpi_sleep(unsigned int secs); -XBT_PUBLIC int smpi_gettimeofday(struct timeval* tv, void* tz); + XBT_PUBLIC unsigned long long smpi_rastro_resolution(); XBT_PUBLIC unsigned long long smpi_rastro_timestamp(); XBT_PUBLIC void smpi_sample_1(int global, const char* file, int line, int iters, double threshold); @@ -934,7 +924,7 @@ XBT_PUBLIC void smpi_sample_3(int global, const char* file, int line); /** * Need a public setter for SMPI copy_callback function, so users can define - * their own while still using default SIMIX_copy_callback for MSG copies. + * their own while still using default SIMIX_copy_callback for S4U copies. */ XBT_PUBLIC void smpi_comm_set_copy_data_callback(void (*callback)(smx_activity_t, void*, size_t)); @@ -977,7 +967,7 @@ XBT_PUBLIC void* smpi_shared_set_call(const char* func, const char* input, void* /* Fortran specific stuff */ XBT_PUBLIC int smpi_main(const char* program, int argc, char* argv[]); -XBT_ATTRIB_DEPRECATED_v322("Use Actor::self()->getPid(): v3.22 will turn this warning into an error.") XBT_PUBLIC +XBT_ATTRIB_DEPRECATED_v322("Use s4u::this_actor::getPid(): v3.22 will turn this warning into an error.") XBT_PUBLIC int smpi_process_index(); XBT_PUBLIC void smpi_process_init(int* argc, char*** argv); @@ -1064,6 +1054,8 @@ std::vector> shift_and_frame_private_blocks(const std: size_t offset, size_t buff_size); std::vector> merge_private_blocks(std::vector> src, std::vector> dst); + + #endif #endif