XBT_PRIVATE MPI_Comm* smpi_deployment_comm_world(const std::string& instance_id);
XBT_PRIVATE void smpi_deployment_cleanup_instances();
+XBT_PRIVATE int smpi_deployment_smpirun(simgrid::s4u::Engine* e, const std::string& hostfile, int np,
+ const std::string& replayfile, int map, int argc, char* argv[]);
XBT_PRIVATE void smpi_comm_copy_buffer_callback(simgrid::kernel::activity::CommImpl* comm, void* buff,
size_t buff_size);
XBT_PRIVATE bool smpi_cfg_display_alloc();
// utilities
-XBT_PUBLIC void smpi_init_options(bool called_by_smpimain = false);
+XBT_PRIVATE void smpi_init_options_internal(bool called_by_smpi_main);
extern XBT_PRIVATE char* smpi_data_exe_start; // start of the data+bss segment of the executable
extern XBT_PRIVATE size_t smpi_data_exe_size; // size of the data+bss segment of the executable
#define CHECK_OP(num, op, type)\
{\
CHECK_MPI_NULL((num), MPI_OP_NULL, MPI_ERR_OP, (op))\
+ CHECK_ARGS((op == MPI_REPLACE || op == MPI_NO_OP), MPI_ERR_OP,\
+ "%s: param %d op %s cannot be used in non RMA calls", __func__, (num), _XBT_STRINGIFY(op));\
CHECK_DELETED((num), MPI_ERR_OP, op)\
if (not op->is_predefined())\
simgrid::smpi::utils::set_current_handle(op);\