A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make SMPI parameters names more consistent.
[simgrid.git]
/
src
/
smpi
/
smpi_bench.c
diff --git
a/src/smpi/smpi_bench.c
b/src/smpi/smpi_bench.c
index
31dbd25
..
295f8ce
100644
(file)
--- a/
src/smpi/smpi_bench.c
+++ b/
src/smpi/smpi_bench.c
@@
-1,29
+1,27
@@
#include "private.h"
#include "private.h"
-#include <string.h>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_bench, smpi,
"Logging specific to SMPI (benchmarking)");
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_bench, smpi,
"Logging specific to SMPI (benchmarking)");
-void smpi_execute(double duration)
-{
+static void smpi_execute(double duration) {
smx_host_t host;
smx_action_t action;
smx_mutex_t mutex;
smx_cond_t cond;
e_surf_action_state_t state;
smx_host_t host;
smx_action_t action;
smx_mutex_t mutex;
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);
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);
action = SIMIX_action_execute(host, "computation", duration);
SIMIX_mutex_lock(mutex);
SIMIX_register_action_to_condition(action, cond);
- for
(state = SIMIX_action_get_state(action);
-
state == SURF_ACTION_READY ||
-
state == SURF_ACTION_RUNNING; state = SIMIX_action_get_state(action)) {
+ for(state = SIMIX_action_get_state(action);
+ state == SURF_ACTION_READY ||
+ state == SURF_ACTION_RUNNING; state = SIMIX_action_get_state(action)) {
SIMIX_cond_wait(cond, mutex);
}
SIMIX_unregister_action_to_condition(action, cond);
SIMIX_cond_wait(cond, mutex);
}
SIMIX_unregister_action_to_condition(action, cond);
@@
-34,17
+32,21
@@
void smpi_execute(double duration)
}
}
}
}
-void smpi_bench_begin()
-{
+void smpi_bench_begin(int rank, const char* mpi_call) {
+ 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_start(smpi_process_timer());
}
-void smpi_bench_end()
-{
+void smpi_bench_end(int rank, const char* mpi_call) {
xbt_os_timer_t timer = smpi_process_timer();
xbt_os_timer_stop(timer);
smpi_execute(xbt_os_timer_elapsed(timer));
xbt_os_timer_t timer = 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, "smpi/log_events")) {
+ INFO3("SMPE: ts=%f rank=%d type=begin et=%s", SIMIX_get_clock(), rank, mpi_call);
+ }
}
/*
}
/*