extern XBT_PRIVATE simgrid::config::Flag<std::string> _smpi_cfg_comp_adjustment_file;
extern XBT_PRIVATE simgrid::config::Flag<bool> _smpi_cfg_default_errhandler_is_error;
extern XBT_PRIVATE simgrid::config::Flag<bool> _smpi_cfg_pedantic;
+extern XBT_PRIVATE simgrid::config::Flag<double> _smpi_init_sleep;
#if HAVE_PAPI
extern XBT_PRIVATE simgrid::config::Flag<std::string> _smpi_cfg_papi_events_file;
#endif
"smpi/errors-are-fatal", "Whether MPI errors are fatal or just return. Default is true", true };
simgrid::config::Flag<bool> _smpi_cfg_pedantic{
"smpi/pedantic", "Activate extra checks that may crash slightly incorrect codes which would not crash on actual implementations", true };
+simgrid::config::Flag<double> _smpi_init_sleep(
+ "smpi/init", "Time to inject inside a call to MPI_Init", 0.0);
#if HAVE_PAPI
simgrid::config::Flag<std::string> _smpi_cfg_papi_events_file{"smpi/papi-events",
"This switch enables tracking the specified counters with PAPI", ""};
// No instance gets manually created; check also the smpirun.in script as
// this default name is used there as well (when the <actor> tag is generated).
static const std::string smpi_default_instance_name("smpirun");
-static simgrid::config::Flag<double> smpi_init_sleep(
- "smpi/init", "Time to inject inside a call to MPI_Init", 0.0);
static simgrid::config::Flag<std::string>
smpi_hostfile("smpi/hostfile",
void smpi_mpi_init() {
smpi_init_fortran_types();
- if(smpi_init_sleep > 0)
- simgrid::s4u::this_actor::sleep_for(smpi_init_sleep);
+ if(_smpi_init_sleep > 0)
+ simgrid::s4u::this_actor::sleep_for(_smpi_init_sleep);
}
void SMPI_thread_create() {
#include "smpi_datatype.hpp"
#include "smpi_group.hpp"
#include "smpi_request.hpp"
+#include "smpi_config.hpp"
#include "simgrid/s4u/Exec.hpp"
#include "xbt/replay.hpp"
#include <simgrid/smpi/smpi_replay.hpp>
// Wait for the other actors to initialize also
simgrid::s4u::this_actor::yield();
}
+ if(_smpi_init_sleep > 0)
+ simgrid::s4u::this_actor::sleep_for(_smpi_init_sleep);
}
/** @brief actually run the replay after initialization */