Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fix test action ti-tracing, it needs to behave like a wait
authorAugustin Degomme <adegomme@users.noreply.github.com>
Tue, 11 Jan 2022 20:04:03 +0000 (21:04 +0100)
committerAugustin Degomme <adegomme@users.noreply.github.com>
Sun, 30 Jan 2022 20:55:29 +0000 (21:55 +0100)
src/instr/instr_private.hpp
src/smpi/bindings/smpi_pmpi_request.cpp
src/smpi/internals/smpi_replay.cpp

index 33516a3..40d2e07 100644 (file)
@@ -205,7 +205,7 @@ class WaitTIData : public TIData {
   int tag_;
 
 public:
-  WaitTIData(int src, int dest, int tag) : TIData("wait"), src_(src), dest_(dest), tag_(tag){};
+  WaitTIData(std::string name, int src, int dest, int tag) : TIData(name), src_(src), dest_(dest), tag_(tag){};
 
   std::string print() override
   {
index a41a306..527e60b 100644 (file)
@@ -464,7 +464,9 @@ int PMPI_Test(MPI_Request * request, int *flag, MPI_Status * status)
   } else {
     aid_t my_proc_id = ((*request)->comm() != MPI_COMM_NULL) ? simgrid::s4u::this_actor::get_pid() : -1;
 
-    TRACE_smpi_comm_in(my_proc_id, __func__, new simgrid::instr::NoOpTIData("test"));
+    TRACE_smpi_comm_in(my_proc_id, __func__, new simgrid::instr::WaitTIData("test", MPI_COMM_WORLD->group()->rank((*request)->src()),
+                                             MPI_COMM_WORLD->group()->rank((*request)->dst()),
+                                            (*request)->tag()));;
     retval = simgrid::smpi::Request::test(request,status, flag);
 
     TRACE_smpi_comm_out(my_proc_id);
@@ -599,7 +601,7 @@ int PMPI_Wait(MPI_Request * request, MPI_Status * status)
 
     aid_t my_proc_id = (*request)->comm() != MPI_COMM_NULL ? simgrid::s4u::this_actor::get_pid() : -1;
     TRACE_smpi_comm_in(my_proc_id, __func__,
-                       new simgrid::instr::WaitTIData(MPI_COMM_WORLD->group()->rank((*request)->src()),
+                       new simgrid::instr::WaitTIData("wait", MPI_COMM_WORLD->group()->rank((*request)->src()),
                                                       MPI_COMM_WORLD->group()->rank((*request)->dst()),
                                                       (*request)->tag()));
 
index a45fd2a..8ea0c90 100644 (file)
@@ -433,7 +433,7 @@ void WaitAction::kernel(simgrid::xbt::ReplayAction& action)
   // MPI_REQUEST_NULL by Request::wait!
   bool is_wait_for_receive = (request->flags() & MPI_REQ_RECV);
 
-  TRACE_smpi_comm_in(get_pid(), __func__, new simgrid::instr::WaitTIData(args.src, args.dst, args.tag));
+  TRACE_smpi_comm_in(get_pid(), __func__, new simgrid::instr::WaitTIData("wait", args.src, args.dst, args.tag));
 
   MPI_Status status;
   Request::wait(&request, &status);
@@ -532,7 +532,7 @@ void TestAction::kernel(simgrid::xbt::ReplayAction&)
   // Different times in traced application and replayed version may lead to this
   // In this case, ignore the extra calls.
   if (request != MPI_REQUEST_NULL) {
-    TRACE_smpi_comm_in(get_pid(), __func__, new simgrid::instr::NoOpTIData("test"));
+    TRACE_smpi_comm_in(get_pid(), __func__, new simgrid::instr::WaitTIData("test", args.src, args.dst, args.tag));
 
     MPI_Status status;
     int flag = 0;