int rank = smpi_process()->index();
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::CollTIData("bcast", comm->group()->index(root), -1.0,
- datatype->is_basic() ? count : count * datatype->size(), -1,
+ datatype->is_replayable() ? count : count * datatype->size(), -1,
encode_datatype(datatype), ""));
if (comm->size() > 1)
simgrid::smpi::Colls::bcast(buf, count, datatype, root, comm);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::CollTIData(
"gather", comm->group()->index(root), -1.0,
- sendtmptype->is_basic() ? sendtmpcount : sendtmpcount * sendtmptype->size(),
- (comm->rank() != root || recvtype->is_basic()) ? recvcount : recvcount * recvtype->size(),
+ sendtmptype->is_replayable() ? sendtmpcount : sendtmpcount * sendtmptype->size(),
+ (comm->rank() != root || recvtype->is_replayable()) ? recvcount : recvcount * recvtype->size(),
encode_datatype(sendtmptype), encode_datatype(recvtype)));
simgrid::smpi::Colls::gather(sendtmpbuf, sendtmpcount, sendtmptype, recvbuf, recvcount, recvtype, root, comm);
}
int rank = smpi_process()->index();
- int dt_size_recv = recvtype->is_basic() ? 1 : recvtype->size();
+ int dt_size_recv = recvtype->is_replayable() ? 1 : recvtype->size();
std::vector<int>* trace_recvcounts = new std::vector<int>;
if (comm->rank() == root) {
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::VarCollTIData(
"gatherV", comm->group()->index(root),
- sendtmptype->is_basic() ? sendtmpcount : sendtmpcount * sendtmptype->size(), nullptr,
+ sendtmptype->is_replayable() ? sendtmpcount : sendtmpcount * sendtmptype->size(), nullptr,
dt_size_recv, trace_recvcounts, encode_datatype(sendtmptype), encode_datatype(recvtype)));
retval = simgrid::smpi::Colls::gatherv(sendtmpbuf, sendtmpcount, sendtmptype, recvbuf, recvcounts, displs, recvtype, root, comm);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::CollTIData("allGather", -1, -1.0,
- sendtype->is_basic() ? sendcount : sendcount * sendtype->size(),
- recvtype->is_basic() ? recvcount : recvcount * recvtype->size(),
+ sendtype->is_replayable() ? sendcount : sendcount * sendtype->size(),
+ recvtype->is_replayable() ? recvcount : recvcount * recvtype->size(),
encode_datatype(sendtype), encode_datatype(recvtype)));
simgrid::smpi::Colls::allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm);
sendtype=recvtype;
}
int rank = smpi_process()->index();
- int dt_size_recv = recvtype->is_basic() ? 1 : recvtype->size();
+ int dt_size_recv = recvtype->is_replayable() ? 1 : recvtype->size();
std::vector<int>* trace_recvcounts = new std::vector<int>;
for (int i = 0; i < comm->size(); i++) // copy data to avoid bad free
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::VarCollTIData(
- "allGatherV", -1, sendtype->is_basic() ? sendcount : sendcount * sendtype->size(), nullptr,
+ "allGatherV", -1, sendtype->is_replayable() ? sendcount : sendcount * sendtype->size(), nullptr,
dt_size_recv, trace_recvcounts, encode_datatype(sendtype), encode_datatype(recvtype)));
simgrid::smpi::Colls::allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::CollTIData(
"scatter", comm->group()->index(root), -1.0,
- (comm->rank() != root || sendtype->is_basic()) ? sendcount : sendcount * sendtype->size(),
- recvtype->is_basic() ? recvcount : recvcount * recvtype->size(), encode_datatype(sendtype),
+ (comm->rank() != root || sendtype->is_replayable()) ? sendcount : sendcount * sendtype->size(),
+ recvtype->is_replayable() ? recvcount : recvcount * recvtype->size(), encode_datatype(sendtype),
encode_datatype(recvtype)));
simgrid::smpi::Colls::scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm);
recvcount = sendcounts[comm->rank()];
}
int rank = smpi_process()->index();
- int dt_size_send = sendtype->is_basic() ? 1 : sendtype->size();
+ int dt_size_send = sendtype->is_replayable() ? 1 : sendtype->size();
std::vector<int>* trace_sendcounts = new std::vector<int>;
if (comm->rank() == root) {
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::VarCollTIData(
"scatterV", comm->group()->index(root), dt_size_send, trace_sendcounts,
- recvtype->is_basic() ? recvcount : recvcount * recvtype->size(), nullptr,
+ recvtype->is_replayable() ? recvcount : recvcount * recvtype->size(), nullptr,
encode_datatype(sendtype), encode_datatype(recvtype)));
retval = simgrid::smpi::Colls::scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::CollTIData("reduce", comm->group()->index(root), 0,
- datatype->is_basic() ? count : count * datatype->size(), -1,
+ datatype->is_replayable() ? count : count * datatype->size(), -1,
encode_datatype(datatype), ""));
simgrid::smpi::Colls::reduce(sendbuf, recvbuf, count, datatype, op, root, comm);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::CollTIData("allReduce", -1, 0,
- datatype->is_basic() ? count : count * datatype->size(), -1,
+ datatype->is_replayable() ? count : count * datatype->size(), -1,
encode_datatype(datatype), ""));
simgrid::smpi::Colls::allreduce(sendtmpbuf, recvbuf, count, datatype, op, comm);
int rank = smpi_process()->index();
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData(
- "scan", -1, datatype->is_basic() ? count : count * datatype->size(),
+ "scan", -1, datatype->is_replayable() ? count : count * datatype->size(),
encode_datatype(datatype)));
retval = simgrid::smpi::Colls::scan(sendbuf, recvbuf, count, datatype, op, comm);
}
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData(
- "exscan", -1, datatype->is_basic() ? count : count * datatype->size(),
+ "exscan", -1, datatype->is_replayable() ? count : count * datatype->size(),
encode_datatype(datatype)));
retval = simgrid::smpi::Colls::exscan(sendtmpbuf, recvbuf, count, datatype, op, comm);
} else {
int rank = smpi_process()->index();
std::vector<int>* trace_recvcounts = new std::vector<int>;
- int dt_send_size = datatype->is_basic() ? 1 : datatype->size();
+ int dt_send_size = datatype->is_replayable() ? 1 : datatype->size();
int totalcount = 0;
for (int i = 0; i < comm->size(); i++) { // copy data to avoid bad free
int count = comm->size();
int rank = smpi_process()->index();
- int dt_send_size = datatype->is_basic() ? 1 : datatype->size();
+ int dt_send_size = datatype->is_replayable() ? 1 : datatype->size();
std::vector<int>* trace_recvcounts = new std::vector<int>(recvcount * dt_send_size); // copy data to avoid bad free
void* sendtmpbuf = sendbuf;
TRACE_smpi_comm_in(
rank, __FUNCTION__,
new simgrid::instr::CollTIData("allToAll", -1, -1.0,
- sendtmptype->is_basic() ? sendtmpcount : sendtmpcount * sendtmptype->size(),
- recvtype->is_basic() ? recvcount : recvcount * recvtype->size(),
+ sendtmptype->is_replayable() ? sendtmpcount : sendtmpcount * sendtmptype->size(),
+ recvtype->is_replayable() ? recvcount : recvcount * recvtype->size(),
encode_datatype(sendtmptype), encode_datatype(recvtype)));
retval = simgrid::smpi::Colls::alltoall(sendtmpbuf, sendtmpcount, sendtmptype, recvbuf, recvcount, recvtype, comm);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::Pt2PtTIData("Irecv", comm->group()->index(src),
- datatype->is_basic() ? count : count * datatype->size(),
+ datatype->is_replayable() ? count : count * datatype->size(),
encode_datatype(datatype)));
*request = simgrid::smpi::Request::irecv(buf, count, datatype, src, tag, comm);
int trace_dst = comm->group()->index(dst);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::Pt2PtTIData("Isend", trace_dst,
- datatype->is_basic() ? count : count * datatype->size(),
+ datatype->is_replayable() ? count : count * datatype->size(),
encode_datatype(datatype)));
TRACE_smpi_send(rank, rank, trace_dst, tag, count * datatype->size());
int trace_dst = comm->group()->index(dst);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::Pt2PtTIData("ISsend", trace_dst,
- datatype->is_basic() ? count : count * datatype->size(),
+ datatype->is_replayable() ? count : count * datatype->size(),
encode_datatype(datatype)));
TRACE_smpi_send(rank, rank, trace_dst, tag, count * datatype->size());
int src_traced = comm->group()->index(src);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::Pt2PtTIData("recv", src_traced,
- datatype->is_basic() ? count : count * datatype->size(),
+ datatype->is_replayable() ? count : count * datatype->size(),
encode_datatype(datatype)));
simgrid::smpi::Request::recv(buf, count, datatype, src, tag, comm, status);
int dst_traced = comm->group()->index(dst);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::Pt2PtTIData("send", dst_traced,
- datatype->is_basic() ? count : count * datatype->size(),
+ datatype->is_replayable() ? count : count * datatype->size(),
encode_datatype(datatype)));
if (not TRACE_smpi_view_internals()) {
TRACE_smpi_send(rank, rank, dst_traced, tag,count*datatype->size());
int dst_traced = comm->group()->index(dst);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::Pt2PtTIData("Ssend", dst_traced,
- datatype->is_basic() ? count : count * datatype->size(),
+ datatype->is_replayable() ? count : count * datatype->size(),
encode_datatype(datatype)));
TRACE_smpi_send(rank, rank, dst_traced, tag, count * datatype->size());
src_hack->push_back(src_traced);
TRACE_smpi_comm_in(rank, __FUNCTION__,
new simgrid::instr::VarCollTIData(
- "sendRecv", -1, sendtype->is_basic() ? sendcount : sendcount * sendtype->size(), dst_hack,
- recvtype->is_basic() ? recvcount : recvcount * recvtype->size(), src_hack,
+ "sendRecv", -1, sendtype->is_replayable() ? sendcount : sendcount * sendtype->size(), dst_hack,
+ recvtype->is_replayable() ? recvcount : recvcount * recvtype->size(), src_hack,
encode_datatype(sendtype), encode_datatype(recvtype)));
TRACE_smpi_send(rank, rank, dst_traced, sendtag, sendcount * sendtype->size());
MPI_Group group;
win->get_group(&group);
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData("Get", target_rank,
- origin_datatype->is_basic() ? origin_count : origin_count * origin_datatype->size(),
+ origin_datatype->is_replayable() ? origin_count : origin_count * origin_datatype->size(),
encode_datatype(origin_datatype)));
retval = win->get( origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count,
MPI_Group group;
win->get_group(&group);
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData("Rget", target_rank,
- origin_datatype->is_basic() ? origin_count : origin_count * origin_datatype->size(),
+ origin_datatype->is_replayable() ? origin_count : origin_count * origin_datatype->size(),
encode_datatype(origin_datatype)));
retval = win->get( origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count,
win->get_group(&group);
int dst_traced = group->index(target_rank);
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData("Put", dst_traced,
- origin_datatype->is_basic() ? origin_count : origin_count * origin_datatype->size(),
+ origin_datatype->is_replayable() ? origin_count : origin_count * origin_datatype->size(),
encode_datatype(origin_datatype)));
TRACE_smpi_send(rank, rank, dst_traced, SMPI_RMA_TAG, origin_count*origin_datatype->size());
win->get_group(&group);
int dst_traced = group->index(target_rank);
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData("Rput", dst_traced,
- origin_datatype->is_basic() ? origin_count : origin_count * origin_datatype->size(),
+ origin_datatype->is_replayable() ? origin_count : origin_count * origin_datatype->size(),
encode_datatype(origin_datatype)));
TRACE_smpi_send(rank, rank, dst_traced, SMPI_RMA_TAG, origin_count*origin_datatype->size());
MPI_Group group;
win->get_group(&group);
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData("Accumulate", target_rank,
- origin_datatype->is_basic() ? origin_count : origin_count * origin_datatype->size(),
+ origin_datatype->is_replayable() ? origin_count : origin_count * origin_datatype->size(),
encode_datatype(origin_datatype)));
retval = win->accumulate( origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count,
target_datatype, op);
MPI_Group group;
win->get_group(&group);
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData("Raccumulate", target_rank,
- origin_datatype->is_basic() ? origin_count : origin_count * origin_datatype->size(),
+ origin_datatype->is_replayable() ? origin_count : origin_count * origin_datatype->size(),
encode_datatype(origin_datatype)));
retval = win->accumulate( origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count,
MPI_Group group;
win->get_group(&group);
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData("Get_accumulate", target_rank,
- target_datatype->is_basic() ? target_count : target_count * target_datatype->size(),
+ target_datatype->is_replayable() ? target_count : target_count * target_datatype->size(),
encode_datatype(target_datatype)));
retval = win->get_accumulate( origin_addr, origin_count, origin_datatype, result_addr,
MPI_Group group;
win->get_group(&group);
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData("Rget_accumulate", target_rank,
- target_datatype->is_basic() ? target_count : target_count * target_datatype->size(),
+ target_datatype->is_replayable() ? target_count : target_count * target_datatype->size(),
encode_datatype(target_datatype)));
retval = win->get_accumulate( origin_addr, origin_count, origin_datatype, result_addr,
MPI_Group group;
win->get_group(&group);
TRACE_smpi_comm_in(rank, __FUNCTION__, new simgrid::instr::Pt2PtTIData("Compare_and_swap", target_rank,
- datatype->is_basic() ? 1 : datatype->size(),
+ datatype->is_replayable() ? 1 : datatype->size(),
encode_datatype(datatype)));
retval = win->compare_and_swap(origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp);