const SmpiBenchGuard suspend_bench;
aid_t rank_traced = simgrid::s4u::this_actor::get_pid();
TRACE_smpi_comm_in(rank_traced, __func__, new simgrid::instr::CpuTIData("IO - read", count * datatype->size()));
+ MPI_Offset prev;
+ fh->get_position(&prev);
int ret = fh->seek(offset,MPI_SEEK_SET);
if (ret == MPI_SUCCESS)
ret = simgrid::smpi::File::read(fh, buf, count, datatype, status);
+ fh->seek(prev,MPI_SEEK_SET);
TRACE_smpi_comm_out(rank_traced);
return ret;
}
aid_t rank_traced = simgrid::s4u::this_actor::get_pid();
TRACE_smpi_comm_in(rank_traced, __func__,
new simgrid::instr::CpuTIData("IO - read_at_all", count * datatype->size()));
+ MPI_Offset prev;
+ fh->get_position(&prev);
int ret = fh->seek(offset,MPI_SEEK_SET);
if (ret == MPI_SUCCESS)
ret = fh->op_all<simgrid::smpi::File::read>(buf, count, datatype, status);
+ fh->seek(prev,MPI_SEEK_SET);
TRACE_smpi_comm_out(rank_traced);
return ret;
}
const SmpiBenchGuard suspend_bench;
aid_t rank_traced = simgrid::s4u::this_actor::get_pid();
TRACE_smpi_comm_in(rank_traced, __func__, new simgrid::instr::CpuTIData("IO - write", count * datatype->size()));
+ MPI_Offset prev;
+ fh->get_position(&prev);
int ret = fh->seek(offset,MPI_SEEK_SET);
if (ret == MPI_SUCCESS)
ret = simgrid::smpi::File::write(fh, const_cast<void*>(buf), count, datatype, status);
+ fh->seek(prev,MPI_SEEK_SET);
TRACE_smpi_comm_out(rank_traced);
return ret;
}
aid_t rank_traced = simgrid::s4u::this_actor::get_pid();
TRACE_smpi_comm_in(rank_traced, __func__,
new simgrid::instr::CpuTIData("IO - write_at_all", count * datatype->size()));
+ MPI_Offset prev;
+ fh->get_position(&prev);
int ret = fh->seek(offset,MPI_SEEK_SET);
if (ret == MPI_SUCCESS)
ret = fh->op_all<simgrid::smpi::File::write>(const_cast<void*>(buf), count, datatype, status);
+ fh->seek(prev,MPI_SEEK_SET);
TRACE_smpi_comm_out(rank_traced);
return ret;
}