Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[SMPI] Replay: Clear all requests after waitall
[simgrid.git] / src / smpi / internals / smpi_replay.cpp
index 33c954c..8ec3a36 100644 (file)
@@ -77,7 +77,6 @@ namespace hash_tuple{
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_replay,smpi,"Trace Replay with SMPI");
 
-static std::unordered_map<int, std::vector<MPI_Request>*> reqq;
 typedef std::tuple</*sender*/ int, /* reciever */ int, /* tag */int> req_key_t;
 typedef std::unordered_map<req_key_t, MPI_Request, hash_tuple::hash<std::tuple<int,int,int>>> req_storage_t;
 
@@ -108,16 +107,6 @@ static void log_timed_action(simgrid::xbt::ReplayAction& action, double clock)
   }
 }
 
-static std::vector<MPI_Request>* get_reqq_self()
-{
-  return reqq.at(simgrid::s4u::this_actor::get_pid());
-}
-
-static void set_reqq_self(std::vector<MPI_Request> *mpi_request)
-{
-  reqq.insert({simgrid::s4u::this_actor::get_pid(), mpi_request});
-}
-
 /* Helper function */
 static double parse_double(std::string string)
 {
@@ -732,6 +721,7 @@ public:
       }
       MPI_Status status[count_requests];
       Request::waitall(count_requests, &(reqs.data())[0], status);
+      req_storage->get_store().clear();
 
       for (auto& pair : sender_receiver) {
         TRACE_smpi_recv(pair.first, pair.second, 0);