X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6760cb07d6b57be16928d95339d71e57c4e24f36..e9efa61bd5941f4d58bb736d74b4348942cadb0a:/src/smpi/private.h diff --git a/src/smpi/private.h b/src/smpi/private.h index 1265260410..4816283321 100644 --- a/src/smpi/private.h +++ b/src/smpi/private.h @@ -11,6 +11,7 @@ #include "xbt/xbt_os_time.h" #include "simix/simix.h" #include "smpi/smpi.h" +#include "instr/private.h" struct s_smpi_process_data; typedef struct s_smpi_process_data* smpi_process_data_t; @@ -32,7 +33,10 @@ typedef struct s_smpi_mpi_request { int complete; MPI_Request match; unsigned flags; - MPI_Request ack; +#ifdef HAVE_TRACING + int send; + int recv; +#endif } s_smpi_mpi_request_t; void smpi_process_init(int* argc, char*** argv); @@ -43,6 +47,8 @@ smpi_process_data_t smpi_process_remote_data(int index); int smpi_process_count(void); int smpi_process_index(void); xbt_os_timer_t smpi_process_timer(void); +void smpi_process_simulated_start(void); +double smpi_process_simulated_elapsed(void); void print_request(const char* message, MPI_Request request); void smpi_process_post_send(MPI_Comm comm, MPI_Request request); void smpi_process_post_recv(MPI_Request request); @@ -90,6 +96,7 @@ void smpi_mpi_send(void* buf, int count, MPI_Datatype datatype, int dst, int tag void smpi_mpi_sendrecv(void* sendbuf, int sendcount, MPI_Datatype sendtype, int dst, int sendtag, void* recvbuf, int recvcount, MPI_Datatype recvtype, int src, int recvtag, MPI_Comm comm, MPI_Status* status); int smpi_mpi_test(MPI_Request* request, MPI_Status* status); int smpi_mpi_testany(int count, MPI_Request requests[], int* index, MPI_Status* status); +int smpi_mpi_get_count(MPI_Status* status, MPI_Datatype datatype); void smpi_mpi_wait(MPI_Request* request, MPI_Status* status); int smpi_mpi_waitany(int count, MPI_Request requests[], MPI_Status* status); void smpi_mpi_waitall(int count, MPI_Request requests[], MPI_Status status[]); @@ -115,6 +122,7 @@ int smpi_coll_tuned_alltoall_pairwise(void* sendbuf, int sendcount, MPI_Datatype int smpi_coll_basic_alltoallv(void* sendbuf, int* sendcounts, int* senddisps, MPI_Datatype sendtype, void* recvbuf, int *recvcounts, int* recvdisps, MPI_Datatype recvtype, MPI_Comm comm); // utilities +void smpi_bench_destroy(void); void smpi_bench_begin(int rank, const char* mpi_call); void smpi_bench_end(int rank, const char* mpi_call);