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
More work on cmake/ctest cruft
[simgrid.git]
/
src
/
smpi
/
smpi_bench.c
diff --git
a/src/smpi/smpi_bench.c
b/src/smpi/smpi_bench.c
index ec81226b695972379b511eec93800dfda879f3e8..cc81f08ebb5a7a165d74ead50f043c3410fc161a 100644
(file)
--- a/
src/smpi/smpi_bench.c
+++ b/
src/smpi/smpi_bench.c
@@
-7,15
+7,19
@@
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_bench, smpi,
void smpi_execute(double duration)
{
smx_host_t host = SIMIX_host_self();
void smpi_execute(double duration)
{
smx_host_t host = SIMIX_host_self();
- smx_mutex_t mutex = smpi_
host
_mutex();
- smx_cond_t cond = smpi_
host
_cond();
+ smx_mutex_t mutex = smpi_
process
_mutex();
+ smx_cond_t cond = smpi_
process
_cond();
smx_action_t action;
e_surf_action_state_t state;
smx_action_t action;
e_surf_action_state_t state;
+ if (duration < 0.001)
+ return;
+ DEBUG1("Sleep for %f to handle real computation time",duration);
SIMIX_mutex_lock(mutex);
action =
SIMIX_mutex_lock(mutex);
action =
- SIMIX_action_execute(host, "execute", duration * SMPI_DEFAULT_SPEED);
+ SIMIX_action_execute(host, "execute",
+ duration * smpi_global->reference_speed);
SIMIX_register_action_to_condition(action, cond);
for (state = SIMIX_action_get_state(action);
SIMIX_register_action_to_condition(action, cond);
for (state = SIMIX_action_get_state(action);
@@
-34,7
+38,6
@@
void smpi_execute(double duration)
void smpi_start_timer()
{
void smpi_start_timer()
{
- SIMIX_mutex_lock(smpi_global->timer_mutex);
xbt_os_timer_start(smpi_global->timer);
}
xbt_os_timer_start(smpi_global->timer);
}
@@
-43,7
+46,6
@@
double smpi_stop_timer()
double duration;
xbt_os_timer_stop(smpi_global->timer);
duration = xbt_os_timer_elapsed(smpi_global->timer);
double duration;
xbt_os_timer_stop(smpi_global->timer);
duration = xbt_os_timer_elapsed(smpi_global->timer);
- SIMIX_mutex_unlock(smpi_global->timer_mutex);
return duration;
}
return duration;
}