Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
help mc initialize smpi options.
authorAugustin Degomme <adegomme@users.noreply.github.com>
Wed, 4 Dec 2019 20:05:52 +0000 (21:05 +0100)
committerAugustin Degomme <adegomme@users.noreply.github.com>
Wed, 4 Dec 2019 20:05:52 +0000 (21:05 +0100)
src/mc/Session.cpp
src/mc/checker/simgrid_mc.cpp
src/smpi/include/private.hpp
src/smpi/include/smpi_config.hpp
src/smpi/internals/smpi_config.cpp
src/smpi/internals/smpi_global.cpp

index e0f28cf..c806450 100644 (file)
@@ -6,6 +6,7 @@
 #include "src/mc/Session.hpp"
 #include "src/mc/checker/Checker.hpp"
 #include "src/mc/mc_config.hpp"
+#include "src/smpi/include/smpi_config.hpp"
 #include "src/mc/mc_private.hpp"
 #include "src/mc/mc_state.hpp"
 #include "xbt/log.h"
@@ -52,6 +53,7 @@ static void setup_child_environment(int socket)
 Session::Session(const std::function<void()>& code)
 {
 #if HAVE_SMPI
+  smpi_init_options();//only performed once
   xbt_assert(smpi_cfg_privatization() != SmpiPrivStrategies::MMAP,
              "Please use the dlopen privatization schema when model-checking SMPI code");
 #endif
index 6e91f11..f7b5a61 100644 (file)
@@ -5,6 +5,7 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "simgrid/sg_config.hpp"
+#include "src/smpi/include/smpi_config.hpp"
 #include "src/mc/Session.hpp"
 #include "src/mc/checker/Checker.hpp"
 #include "src/mc/mc_config.hpp"
@@ -46,8 +47,8 @@ int main(int argc, char** argv)
   // value to the model-checked:
   char** argv_copy = argvdup(argc, argv);
   xbt_log_init(&argc, argv);
+  smpi_init_options();//only performed once
   sg_config_init(&argc, argv);
-
   simgrid::mc::session = new simgrid::mc::Session([argv_copy] { execvp(argv_copy[1], argv_copy + 1); });
   delete[] argv_copy;
 
index d3b4943..001d71d 100644 (file)
@@ -96,8 +96,6 @@ XBT_PRIVATE void smpi_mpi_init();
 enum class SharedMallocType { NONE, LOCAL, GLOBAL };
 enum class SmpiPrivStrategies { NONE = 0, MMAP = 1, DLOPEN = 2, DEFAULT = DLOPEN };
 
-XBT_PRIVATE void smpi_init_options();
-XBT_PRIVATE void smpi_check_options();
 XBT_PRIVATE double smpi_cfg_host_speed();
 XBT_PRIVATE bool smpi_cfg_simulate_computation();
 XBT_PRIVATE SharedMallocType smpi_cfg_shared_malloc();
index 26cfad8..512816f 100644 (file)
@@ -7,7 +7,8 @@
 #define SMPI_CONFIG_HPP
 
 #include <xbt/config.hpp>
-
+XBT_PUBLIC void smpi_init_options();
+XBT_PRIVATE void smpi_check_options();
 /********************************** Configuration of SMPI **************************************/
 extern XBT_PRIVATE simgrid::config::Flag<double> _smpi_cfg_host_speed;
 extern XBT_PRIVATE simgrid::config::Flag<bool> _smpi_cfg_simulate_computation;
index 61cb842..2c2a4d2 100644 (file)
@@ -6,6 +6,7 @@
 #include "include/xbt/config.hpp"
 #include "private.hpp"
 #include "smpi_coll.hpp"
+#include "smpi_config.hpp"
 #include "src/simix/smx_private.hpp"
 #include <cfloat> /* DBL_MAX */
 #include <boost/algorithm/string.hpp> /* trim */
index fb03f4a..6013aa6 100644 (file)
@@ -9,6 +9,7 @@
 #include "smpi_coll.hpp"
 #include "smpi_f2c.hpp"
 #include "smpi_host.hpp"
+#include "smpi_config.hpp"
 #include "src/kernel/activity/CommImpl.hpp"
 #include "src/simix/smx_private.hpp"
 #include "src/smpi/include/smpi_actor.hpp"