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 (comm->size() > 1) {
if (request == MPI_REQUEST_IGNORED)
simgrid::smpi::colls::bcast(buf, count, datatype, root, comm);
const SmpiBenchGuard suspend_bench;
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
aid_t pid = simgrid::s4u::this_actor::get_pid();
TRACE_smpi_comm_in(pid, request == MPI_REQUEST_IGNORED ? "PMPI_Gather" : "PMPI_Igather",
}
const SmpiBenchGuard suspend_bench;
+
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
const void* real_sendbuf = sendbuf;
int real_sendcount = sendcount;
MPI_Datatype real_sendtype = sendtype;
const SmpiBenchGuard suspend_bench;
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
aid_t pid = simgrid::s4u::this_actor::get_pid();
TRACE_smpi_comm_in(pid, request == MPI_REQUEST_IGNORED ? "PMPI_Allgather" : "PMPI_Iallggather",
CHECK_COLLECTIVE(comm, MPI_REQUEST_IGNORED ? "PMPI_Allgatherv" : "PMPI_Iallgatherv")
const SmpiBenchGuard suspend_bench;
+
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
if (sendbuf == MPI_IN_PLACE) {
sendbuf = static_cast<char*>(recvbuf) + recvtype->get_extent() * displs[comm->rank()];
sendcount = recvcounts[comm->rank()];
const SmpiBenchGuard suspend_bench;
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
aid_t pid = simgrid::s4u::this_actor::get_pid();
TRACE_smpi_comm_in(pid, request == MPI_REQUEST_IGNORED ? "PMPI_Scatter" : "PMPI_Iscatter",
const SmpiBenchGuard suspend_bench;
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
aid_t pid = simgrid::s4u::this_actor::get_pid();
auto trace_sendcounts = std::make_shared<std::vector<int>>();
op->name() + " and root " + std::to_string(root))
const SmpiBenchGuard suspend_bench;
+
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
aid_t pid = simgrid::s4u::this_actor::get_pid();
TRACE_smpi_comm_in(pid, request == MPI_REQUEST_IGNORED ? "PMPI_Reduce" : "PMPI_Ireduce",
" with op " + op->name())
const SmpiBenchGuard suspend_bench;
+
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
std::vector<unsigned char> tmp_sendbuf;
const void* real_sendbuf = smpi_get_in_place_buf(sendbuf, recvbuf, tmp_sendbuf, count, datatype);
std::string(request == MPI_REQUEST_IGNORED ? "PMPI_Scan" : "PMPI_Iscan") + " with op " + op->name())
const SmpiBenchGuard suspend_bench;
+
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
aid_t pid = simgrid::s4u::this_actor::get_pid();
std::vector<unsigned char> tmp_sendbuf;
const void* real_sendbuf = smpi_get_in_place_buf(sendbuf, recvbuf, tmp_sendbuf, count, datatype);
op->name())
const SmpiBenchGuard suspend_bench;
+
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
aid_t pid = simgrid::s4u::this_actor::get_pid();
std::vector<unsigned char> tmp_sendbuf;
const void* real_sendbuf = smpi_get_in_place_buf(sendbuf, recvbuf, tmp_sendbuf, count, datatype);
" with op " + op->name())
const SmpiBenchGuard suspend_bench;
+
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
aid_t pid = simgrid::s4u::this_actor::get_pid();
auto trace_recvcounts = std::make_shared<std::vector<int>>();
trace_recvcounts->insert(trace_recvcounts->end(), &recvcounts[0], &recvcounts[comm->size()]);
" with op " + op->name())
const SmpiBenchGuard suspend_bench;
+
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
int count = comm->size();
aid_t pid = simgrid::s4u::this_actor::get_pid();
const SmpiBenchGuard suspend_bench;
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
TRACE_smpi_comm_in(pid, request == MPI_REQUEST_IGNORED ? "PMPI_Alltoall" : "PMPI_Ialltoall",
new simgrid::instr::CollTIData(
request == MPI_REQUEST_IGNORED ? "alltoall" : "ialltoall", -1, -1.0,
}
const SmpiBenchGuard suspend_bench;
+
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
int send_size = 0;
int recv_size = 0;
auto trace_sendcounts = std::make_shared<std::vector<int>>();
const SmpiBenchGuard suspend_bench;
+ if(simgrid::config::get_value<bool>("smpi/colls-inject-barrier"))
+ simgrid::smpi::colls::barrier(comm);
+
int send_size = 0;
int recv_size = 0;
auto trace_sendcounts = std::make_shared<std::vector<int>>();