From: Tom Cornebize Date: Wed, 19 Jul 2017 13:05:38 +0000 (+0200) Subject: Fix smpi_execute_benched. X-Git-Tag: v3.18~228^2^2~1 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/7ac777931e588a2a48708ac16caeb50973f2cdf9?ds=sidebyside Fix smpi_execute_benched. When simulating a target machine T on an host H, you had to give the time as measured on H. This time was then “converted” to the time that would be spent on T by using the host speed and the target speed. Now, you directly give the time that should be spent on T. This is better, since the relative duration of different pieces of code may differ from H to T (and thus you really want to give the time spent on T). --- diff --git a/src/smpi/internals/smpi_bench.cpp b/src/smpi/internals/smpi_bench.cpp index b570e7b1ea..0b68ed98c3 100644 --- a/src/smpi/internals/smpi_bench.cpp +++ b/src/smpi/internals/smpi_bench.cpp @@ -10,6 +10,7 @@ #include "src/mc/mc_replay.h" #include "smpi_process.hpp" #include "smpi_comm.hpp" +#include "simgrid/host.h" #ifndef WIN32 #include @@ -81,7 +82,8 @@ void smpi_execute(double duration) void smpi_execute_benched(double duration) { smpi_bench_end(); - smpi_execute(duration); + double speed = sg_host_speed(sg_host_self()); + smpi_execute_flops(duration*speed); smpi_bench_begin(); }