X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5ed37babb2fa9097abe82df299c0aa259ed84d5a..HEAD:/src/smpi/internals/smpi_config.cpp diff --git a/src/smpi/internals/smpi_config.cpp b/src/smpi/internals/smpi_config.cpp index d4e357b648..513694be8f 100644 --- a/src/smpi/internals/smpi_config.cpp +++ b/src/smpi/internals/smpi_config.cpp @@ -21,11 +21,11 @@ #undef _GNU_SOURCE #endif -#include "smpi_config.hpp" -#include "include/xbt/config.hpp" -#include "mc/mc.h" #include "private.hpp" #include "smpi_coll.hpp" +#include "smpi_config.hpp" +#include "src/mc/mc.h" +#include "xbt/config.hpp" #include "xbt/ex.h" #include "xbt/parse_units.hpp" @@ -33,17 +33,19 @@ #include /* trim */ #include -#if SIMGRID_HAVE_MC #include "src/mc/mc_config.hpp" -#endif +#include "src/mc/mc_replay.hpp" #if defined(__APPLE__) # include # ifndef MAC_OS_X_VERSION_10_12 # define MAC_OS_X_VERSION_10_12 101200 # endif +# ifndef __MAC_11_0 +# define __MAC_11_0 110000 +# endif -constexpr bool HAVE_WORKING_MMAP = (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12); +constexpr bool HAVE_WORKING_MMAP = ((MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12) && (MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_11_0)); #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__sun) || defined(__HAIKU__) || defined(__MUSL__) constexpr bool HAVE_WORKING_MMAP = false; #else @@ -253,9 +255,9 @@ void smpi_init_options_internal(bool called_by_smpi_main) simgrid::config::declare_flag( "smpi/privatization", "How we should privatize global variable at runtime (no, yes, mmap, dlopen).", default_privatization, [](const std::string& smpi_privatize_option) { - if (smpi_privatize_option == "no" || smpi_privatize_option == "0") + if (smpi_privatize_option == "no" || smpi_privatize_option == "0" || smpi_privatize_option == "OFF") _smpi_cfg_privatization = SmpiPrivStrategies::NONE; - else if (smpi_privatize_option == "yes" || smpi_privatize_option == "1") + else if (smpi_privatize_option == "yes" || smpi_privatize_option == "1" || smpi_privatize_option == "ON") _smpi_cfg_privatization = SmpiPrivStrategies::DEFAULT; else if (smpi_privatize_option == "mmap") _smpi_cfg_privatization = SmpiPrivStrategies::MMAP; @@ -304,8 +306,7 @@ void smpi_init_options_internal(bool called_by_smpi_main) void smpi_check_options() { -#if SIMGRID_HAVE_MC - if (MC_is_active()) { + if (MC_is_active() || MC_record_replay_is_active()) { if (_sg_mc_buffering == "zero") simgrid::config::set_value("smpi/send-is-detached-thresh", 0); else if (_sg_mc_buffering == "infty") @@ -313,7 +314,6 @@ void smpi_check_options() else THROW_IMPOSSIBLE; } -#endif xbt_assert(smpi_cfg_async_small_thresh() <= smpi_cfg_detached_send_thresh(), "smpi/async-small-thresh (=%d) should be smaller or equal to smpi/send-is-detached-thresh (=%d)", @@ -332,4 +332,3 @@ void smpi_check_options() simgrid::smpi::colls::set_collectives(); simgrid::smpi::colls::smpi_coll_cleanup_callback = nullptr; } -