#include "internal_config.h"
#include "xbt.h"
#include "xbt/xbt_os_time.h"
+#include "xbt/synchro_core.h"
#include "simgrid/simix.h"
#include "smpi/smpi_interface.h"
#include "smpi/smpi.h"
#define COLL_TAG_GATHERV -2223
#define COLL_TAG_BCAST -3334
#define COLL_TAG_ALLREDUCE -4445
+
+#define MPI_COMM_UNINITIALIZED ((MPI_Comm)-1)
+
//*****************************************************************************************
typedef struct s_smpi_mpi_request {
void smpi_process_set_user_data(void *);
void* smpi_process_get_user_data(void);
int smpi_process_count(void);
+MPI_Comm smpi_process_comm_world(void);
smx_rdv_t smpi_process_mailbox(void);
smx_rdv_t smpi_process_remote_mailbox(int index);
smx_rdv_t smpi_process_mailbox_small(void);
void smpi_process_set_sampling(int s);
int smpi_process_get_sampling(void);
+void smpi_deployment_register_process(const char* instance_id, int rank, int index, MPI_Comm**, xbt_bar_t*);
+void smpi_deployment_cleanup_instances(void);
+
+void smpi_comm_copy_buffer_callback(smx_action_t comm,
+ void *buff, size_t buff_size);
+
void print_request(const char *message, MPI_Request request);
void smpi_global_init(void);
int* comm, int*intercomm, int* array_of_errcodes, int* ierr);
void mpi_comm_get_parent_ ( int*parent, int* ierr);
+
+#ifdef HAVE_TRACING
/********** Tracing **********/
/* from smpi_instr.c */
void TRACE_internal_smpi_set_category (const char *category);
void TRACE_smpi_computing_init(int rank);
void TRACE_smpi_computing_out(int rank);
void TRACE_smpi_computing_in(int rank, instr_extra_data extra);
+void TRACE_smpi_sleeping_init(int rank);
+void TRACE_smpi_sleeping_out(int rank);
+void TRACE_smpi_sleeping_in(int rank, instr_extra_data extra);
+void TRACE_smpi_testing_out(int rank);
+void TRACE_smpi_testing_in(int rank, instr_extra_data extra);
void TRACE_smpi_alloc(void);
void TRACE_smpi_release(void);
void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, instr_extra_data extra);
void TRACE_smpi_recv(int rank, int src, int dst);
void TRACE_smpi_init(int rank);
void TRACE_smpi_finalize(int rank);
-
+#endif
const char* encode_datatype(MPI_Datatype datatype);