constexpr int COLL_TAG_BARRIER = -778;
constexpr int COLL_TAG_REDUCE_SCATTER = -889;
constexpr int COLL_TAG_ALLTOALLV = -1000;
+constexpr int COLL_TAG_ALLTOALLW = -1020;
constexpr int COLL_TAG_ALLTOALL = -1112;
constexpr int COLL_TAG_GATHERV = -2223;
constexpr int COLL_TAG_BCAST = -3334;
constexpr int COLL_TAG_ALLREDUCE = -4445;
+
// SMPI_RMA_TAG has to be the smallest one, as it will be decremented for accumulate ordering.
constexpr int SMPI_RMA_TAG = -6666;
XBT_PRIVATE void smpi_deployment_register_process(const std::string& instance_id, int rank,
simgrid::s4u::ActorPtr actor);
+XBT_PRIVATE void smpi_deployment_unregister_process(const std::string& instance_id);
+
XBT_PRIVATE MPI_Comm* smpi_deployment_comm_world(const std::string& instance_id);
-XBT_PRIVATE simgrid::s4u::Barrier* smpi_deployment_finalization_barrier(const std::string& instance_id);
XBT_PRIVATE void smpi_deployment_cleanup_instances();
XBT_PRIVATE void smpi_comm_copy_buffer_callback(simgrid::kernel::activity::CommImpl* comm, void* buff,
size_t buff_size);
XBT_PRIVATE int smpi_enabled();
-XBT_PRIVATE void smpi_global_init();
-XBT_PRIVATE void smpi_global_destroy();
XBT_PRIVATE double smpi_mpi_wtime();
XBT_PRIVATE void smpi_mpi_init();
void mpi_graphdims_get_(int* comm, int* nnodes, int* nedges, int* ierr);
void mpi_topo_test_(int* comm, int* top_type, int* ierr);
void mpi_error_class_(int* errorcode, int* errorclass, int* ierr);
-void mpi_errhandler_create_(void* function, void* errhandler, int* ierr);
-void mpi_errhandler_free_(void* errhandler, int* ierr);
-void mpi_errhandler_get_(int* comm, void* errhandler, int* ierr);
-void mpi_errhandler_set_(int* comm, void* errhandler, int* ierr);
-void mpi_comm_set_errhandler_(int* comm, void* errhandler, int* ierr);
-void mpi_comm_get_errhandler_(int* comm, void* errhandler, int* ierr);
+void mpi_errhandler_create_(void* function, int* errhandler, int* ierr);
+void mpi_errhandler_free_(int* errhandler, int* ierr);
+void mpi_errhandler_get_(int* comm, int* errhandler, int* ierr);
+void mpi_errhandler_set_(int* comm, int* errhandler, int* ierr);
+void mpi_comm_set_errhandler_(int* comm, int* errhandler, int* ierr);
+void mpi_comm_get_errhandler_(int* comm, int* errhandler, int* ierr);
void mpi_type_contiguous_(int* count, int* old_type, int* newtype, int* ierr);
void mpi_cancel_(int* request, int* ierr);
void mpi_buffer_attach_(void* buffer, int* size, int* ierr);
void mpi_comm_set_info_(int* comm, int* info, int* ierr);
void mpi_comm_get_info_(int* comm, int* info, int* ierr);
void mpi_info_get_(int* info, char* key, int* valuelen, char* value, int* flag, int* ierr, unsigned int keylen);
-void mpi_comm_create_errhandler_(void* function, void* errhandler, int* ierr);
+void mpi_comm_create_errhandler_(void* function, int* errhandler, int* ierr);
void mpi_add_error_class_(int* errorclass, int* ierr);
void mpi_add_error_code_(int* errorclass, int* errorcode, int* ierr);
void mpi_add_error_string_(int* errorcode, char* string, int* ierr);
extern XBT_PRIVATE SmpiPrivStrategies smpi_privatize_global_variables;
+XBT_PRIVATE void private_execute_flops(double flops);
+
#endif