X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b752ecbcf5c35ea3eb8b7a86b0ac6671a4e8611f..6d004c352f7b26fba38486001f874e65466b5bee:/src/smpi/internals/smpi_global.cpp?ds=inline diff --git a/src/smpi/internals/smpi_global.cpp b/src/smpi/internals/smpi_global.cpp index 0feadab4b8..5621fb0e7c 100644 --- a/src/smpi/internals/smpi_global.cpp +++ b/src/smpi/internals/smpi_global.cpp @@ -25,6 +25,10 @@ #include #include +#if SIMGRID_HAVE_MC +#include "src/mc/mc_config.hpp" +#endif + #if SG_HAVE_SENDFILE #include #endif @@ -224,9 +228,21 @@ void smpi_comm_null_copy_buffer_callback(simgrid::kernel::activity::CommImpl*, v static void smpi_check_options() { - //check correctness of MPI parameters +#if SIMGRID_HAVE_MC + if (MC_is_active()) { + if (_sg_mc_buffering == "zero") + simgrid::config::set_value("smpi/send-is-detached-thresh", 0); + else if (_sg_mc_buffering == "infty") + simgrid::config::set_value("smpi/send-is-detached-thresh", INT_MAX); + else + THROW_IMPOSSIBLE; + } +#endif xbt_assert(simgrid::config::get_value("smpi/async-small-thresh") <= + simgrid::config::get_value("smpi/send-is-detached-thresh"), + "smpi/async-small-thresh (=%d) should be smaller or equal to smpi/send-is-detached-thresh (=%d)", + simgrid::config::get_value("smpi/async-small-thresh"), simgrid::config::get_value("smpi/send-is-detached-thresh")); if (simgrid::config::is_default("smpi/host-speed") && not MC_is_active()) {