Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
authorMartin Quinson <martin.quinson@loria.fr>
Sat, 31 Mar 2018 17:27:07 +0000 (19:27 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Sat, 31 Mar 2018 17:27:07 +0000 (19:27 +0200)
1  2 
src/smpi/include/private.hpp
src/smpi/internals/smpi_bench.cpp
src/smpi/mpi/smpi_request.cpp

@@@ -6,6 -6,7 +6,6 @@@
  #ifndef SMPI_PRIVATE_HPP
  #define SMPI_PRIVATE_HPP
  
 -#include "include/xbt/config.hpp"
  #include "simgrid/msg.h" // msg_bar_t
  #include "smpi/smpi.h"
  #include "src/instr/instr_smpi.hpp"
@@@ -436,13 -437,8 +436,8 @@@ extern "C" 
  XBT_PUBLIC smpi_trace_call_location_t* smpi_trace_get_call_location();
  }
  
- enum smpi_priv_strategies {
-   SMPI_PRIVATIZE_NONE    = 0,
-   SMPI_PRIVATIZE_MMAP    = 1,
-   SMPI_PRIVATIZE_DLOPEN  = 2,
-   SMPI_PRIVATIZE_DEFAULT = SMPI_PRIVATIZE_DLOPEN
- };
+ enum class SmpiPrivStrategies { None = 0, Mmap = 1, Dlopen = 2, Default = Dlopen };
  
- extern XBT_PRIVATE int smpi_privatize_global_variables;
+ extern XBT_PRIVATE SmpiPrivStrategies smpi_privatize_global_variables;
  
  #endif
@@@ -11,8 -11,6 +11,8 @@@
  #include "src/internal_config.h"
  #include "src/mc/mc_replay.hpp"
  #include "src/simix/ActorImpl.hpp"
 +#include "xbt/config.hpp"
 +
  #include <unordered_map>
  
  #ifndef WIN32
@@@ -81,7 -79,7 +81,7 @@@ void smpi_execute_benched(double durati
  
  void smpi_bench_begin()
  {
-   if (smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP) {
+   if (smpi_privatize_global_variables == SmpiPrivStrategies::Mmap) {
      smpi_switch_data_segment(simgrid::s4u::Actor::self());
    }
  
@@@ -15,7 -15,6 +15,7 @@@
  #include "src/kernel/activity/CommImpl.hpp"
  #include "src/mc/mc_replay.hpp"
  #include "src/simix/ActorImpl.hpp"
 +#include "xbt/config.hpp"
  
  #include <algorithm>
  
@@@ -411,7 -410,8 +411,8 @@@ void Request::start(
        if (not(old_type_->flags() & DT_FLAG_DERIVED)) {
          oldbuf = buf_;
          if (not process->replaying() && oldbuf != nullptr && size_ != 0) {
-           if ((smpi_privatize_global_variables != 0) && (static_cast<char*>(buf_) >= smpi_data_exe_start) &&
+           if ((smpi_privatize_global_variables != SmpiPrivStrategies::None) &&
+               (static_cast<char*>(buf_) >= smpi_data_exe_start) &&
                (static_cast<char*>(buf_) < smpi_data_exe_start + smpi_data_exe_size)) {
              XBT_DEBUG("Privatization : We are sending from a zone inside global memory. Switch data segment ");
              smpi_switch_data_segment(simgrid::s4u::Actor::byPid(src_));
@@@ -705,7 -705,7 +706,7 @@@ void Request::finish_wait(MPI_Request* 
      if (((req->flags_ & ACCUMULATE) != 0) ||
          (datatype->flags() & DT_FLAG_DERIVED)) { // && (not smpi_is_shared(req->old_buf_))){
  
-       if (not smpi_process()->replaying() && smpi_privatize_global_variables != 0 &&
+       if (not smpi_process()->replaying() && smpi_privatize_global_variables != SmpiPrivStrategies::None &&
            static_cast<char*>(req->old_buf_) >= smpi_data_exe_start &&
            static_cast<char*>(req->old_buf_) < smpi_data_exe_start + smpi_data_exe_size) {
          XBT_VERB("Privatization : We are unserializing to a zone in global memory  Switch data segment ");