- if (win->dynamic()==0 && target_disp <0){
- //in case of dynamic window, target_disp can be mistakenly seen as negative, as it is an address
- retval = MPI_ERR_ARG;
- } else {
- int my_proc_id = simgrid::s4u::this_actor::get_pid();
- MPI_Group group;
- win->get_group(&group);
- TRACE_smpi_comm_in(my_proc_id, __func__,
- new simgrid::instr::Pt2PtTIData(
- "Rget_accumulate", target_rank,
- target_datatype->is_replayable() ? target_count : target_count * target_datatype->size(),
- simgrid::smpi::Datatype::encode(target_datatype)));
-
- retval = win->get_accumulate( origin_addr, origin_count, origin_datatype, result_addr,
- result_count, result_datatype, target_rank, target_disp,
- target_count, target_datatype, op, request);