smx_cond_t cond;
e_surf_action_state_t state;
- if(duration > 0.001) {
+ if(duration >= xbt_cfg_get_double(_surf_cfg_set, "smpi/cpu_threshold")) {
host = SIMIX_host_self();
mutex = SIMIX_mutex_init();
cond = SIMIX_cond_init();
DEBUG1("Sleep for %f to handle real computation time", duration);
- duration *= xbt_cfg_get_double(_surf_cfg_set, "reference_speed");
+ duration *= xbt_cfg_get_double(_surf_cfg_set, "smpi/running_power");
action = SIMIX_action_execute(host, "computation", duration);
SIMIX_mutex_lock(mutex);
SIMIX_register_action_to_condition(action, cond);
}
void smpi_bench_begin(int rank, const char* mpi_call) {
- if(mpi_call && rank >= 0 && xbt_cfg_get_int(_surf_cfg_set, "SMPE")) {
+ if(mpi_call && rank >= 0 && xbt_cfg_get_int(_surf_cfg_set, "smpi/log_events")) {
INFO3("SMPE: ts=%f rank=%d type=end et=%s", SIMIX_get_clock(), rank, mpi_call);
}
xbt_os_timer_start(smpi_process_timer());
xbt_os_timer_stop(timer);
smpi_execute(xbt_os_timer_elapsed(timer));
- if(mpi_call && rank >= 0 && xbt_cfg_get_int(_surf_cfg_set, "SMPE")) {
+ if(mpi_call && rank >= 0 && xbt_cfg_get_int(_surf_cfg_set, "smpi/log_events")) {
INFO3("SMPE: ts=%f rank=%d type=begin et=%s", SIMIX_get_clock(), rank, mpi_call);
}
}
srand(SMPI_RAND_SEED);
double default_reference_speed = 20000.0;
- xbt_cfg_register(&_surf_cfg_set, "reference_speed",
+ xbt_cfg_register(&_surf_cfg_set, "smpi/running_power",
"Power of the host running the simulation (in flop/s). Used to bench the operations.",
xbt_cfgelm_double, &default_reference_speed, 1, 1, NULL, NULL);
int default_display_timing = 0;
- xbt_cfg_register(&_surf_cfg_set, "display_timing",
+ xbt_cfg_register(&_surf_cfg_set, "smpi/display_timing",
"Boolean indicating whether we should display the timing after simulation.",
xbt_cfgelm_int, &default_display_timing, 1, 1, NULL, NULL);
int default_display_smpe = 0;
- xbt_cfg_register(&_surf_cfg_set, "SMPE",
+ xbt_cfg_register(&_surf_cfg_set, "smpi/log_events",
"Boolean indicating whether we should display simulated time spent in MPI calls.",
xbt_cfgelm_int, &default_display_smpe, 1, 1, NULL, NULL);
+ double default_threshold = 1e-6;
+ xbt_cfg_register(&_surf_cfg_set, "smpi/cpu_threshold",
+ "Minimal computation time (in seconds) not discarded.",
+ xbt_cfgelm_double, &default_threshold, 1, 1, NULL, NULL);
+
SIMIX_global_init(&argc, argv);
// parse the platform file: get the host list
while (SIMIX_solve(NULL, NULL) != -1.0);
- if (xbt_cfg_get_int(_surf_cfg_set, "display_timing"))
+ if (xbt_cfg_get_int(_surf_cfg_set, "smpi/display_timing"))
INFO1("simulation time %g", SIMIX_get_clock());
smpi_global_destroy();