Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
New option to detect dangerous code mixing collectives and P2P in a deadlocking way
[simgrid.git] / src / smpi / bindings / smpi_pmpi_coll.cpp
index a8da1d4..c626857 100644 (file)
@@ -76,8 +76,8 @@ int PMPI_Ibcast(void* buf, int count, MPI_Datatype datatype, int root, MPI_Comm
                      new simgrid::instr::CollTIData(request == MPI_REQUEST_IGNORED ? "bcast" : "ibcast", root, -1.0,
                                                     count, 0,
                                                     simgrid::smpi::Datatype::encode(datatype), ""));
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   if (comm->size() > 1) {
     if (request == MPI_REQUEST_IGNORED)
@@ -138,8 +138,8 @@ int PMPI_Igather(const void* sendbuf, int sendcount, MPI_Datatype sendtype, void
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   aid_t pid = simgrid::s4u::this_actor::get_pid();
 
@@ -197,8 +197,8 @@ int PMPI_Igatherv(const void* sendbuf, int sendcount, MPI_Datatype sendtype, voi
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   const void* real_sendbuf   = sendbuf;
   int real_sendcount         = sendcount;
@@ -270,8 +270,8 @@ int PMPI_Iallgather(const void* sendbuf, int sendcount, MPI_Datatype sendtype, v
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   aid_t pid = simgrid::s4u::this_actor::get_pid();
 
@@ -320,8 +320,8 @@ int PMPI_Iallgatherv(const void* sendbuf, int sendcount, MPI_Datatype sendtype,
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   if (sendbuf == MPI_IN_PLACE) {
     sendbuf   = static_cast<char*>(recvbuf) + recvtype->get_extent() * displs[comm->rank()];
@@ -391,8 +391,8 @@ int PMPI_Iscatter(const void* sendbuf, int sendcount, MPI_Datatype sendtype, voi
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   aid_t pid = simgrid::s4u::this_actor::get_pid();
 
@@ -450,8 +450,8 @@ int PMPI_Iscatterv(const void* sendbuf, const int* sendcounts, const int* displs
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   aid_t pid        = simgrid::s4u::this_actor::get_pid();
 
@@ -504,8 +504,8 @@ int PMPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype dat
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   aid_t pid = simgrid::s4u::this_actor::get_pid();
 
@@ -560,8 +560,8 @@ int PMPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   std::vector<unsigned char> tmp_sendbuf;
   const void* real_sendbuf = smpi_get_in_place_buf(sendbuf, recvbuf, tmp_sendbuf, count, datatype);
@@ -603,8 +603,8 @@ int PMPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datat
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   aid_t pid = simgrid::s4u::this_actor::get_pid();
   std::vector<unsigned char> tmp_sendbuf;
@@ -644,8 +644,8 @@ int PMPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype dat
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   aid_t pid = simgrid::s4u::this_actor::get_pid();
   std::vector<unsigned char> tmp_sendbuf;
@@ -691,8 +691,8 @@ int PMPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int *recvcoun
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   aid_t pid                          = simgrid::s4u::this_actor::get_pid();
   auto trace_recvcounts              = std::make_shared<std::vector<int>>();
@@ -744,8 +744,8 @@ int PMPI_Ireduce_scatter_block(const void* sendbuf, void* recvbuf, int recvcount
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   int count = comm->size();
 
@@ -814,8 +814,8 @@ int PMPI_Ialltoall(const void* sendbuf, int sendcount, MPI_Datatype sendtype, vo
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   TRACE_smpi_comm_in(pid, request == MPI_REQUEST_IGNORED ? "PMPI_Alltoall" : "PMPI_Ialltoall",
                      new simgrid::instr::CollTIData(
@@ -870,8 +870,8 @@ int PMPI_Ialltoallv(const void* sendbuf, const int* sendcounts, const int* sendd
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   int send_size                      = 0;
   int recv_size                      = 0;
@@ -968,8 +968,8 @@ int PMPI_Ialltoallw(const void* sendbuf, const int* sendcounts, const int* sendd
 
   const SmpiBenchGuard suspend_bench;
 
-  if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
-    simgrid::smpi::colls::barrier(comm);
+  if (simgrid::config::get_value<bool>("smpi/barrier-collectives"))
+    smpi_deployment_startup_barrier(smpi_process()->get_instance_id());
 
   int send_size                      = 0;
   int recv_size                      = 0;