// prepare receiver request
MPI_Request rreq = Request::rma_recv_init(recv_addr, target_count, target_datatype, recv_win->comm_->rank(),
- recv_win->comm_->group()->rank(comm_->group()->actor(target_rank)), SMPI_RMA_TAG - 3 - count_, recv_win->comm_, op);
+ recv_win->comm_->group()->rank(comm_->group()->actor_pid(target_rank)),
+ SMPI_RMA_TAG - 3 - count_, recv_win->comm_, op);
count_++;
XBT_DEBUG("Entering MPI_Win_Start");
while (j != size) {
- int src = comm_->group()->rank(group->actor(j));
+ int src = comm_->group()->rank(group->actor_pid(j));
if (src != rank_ && src != MPI_UNDEFINED) { // TODO cheinrich: The check of MPI_UNDEFINED should be useless here
reqs[i] = Request::irecv_init(nullptr, 0, MPI_CHAR, src, SMPI_RMA_TAG + 4, comm_);
i++;
XBT_DEBUG("Entering MPI_Win_Post");
while(j!=size){
- int dst = comm_->group()->rank(group->actor(j));
+ int dst = comm_->group()->rank(group->actor_pid(j));
if (dst != rank_ && dst != MPI_UNDEFINED) {
reqs[i] = Request::send_init(nullptr, 0, MPI_CHAR, dst, SMPI_RMA_TAG + 4, comm_);
i++;
std::vector<MPI_Request> reqs(size);
while(j!=size){
- int dst = comm_->group()->rank(group_->actor(j));
+ int dst = comm_->group()->rank(group_->actor_pid(j));
if (dst != rank_ && dst != MPI_UNDEFINED) {
reqs[i] = Request::send_init(nullptr, 0, MPI_CHAR, dst, SMPI_RMA_TAG + 5, comm_);
i++;
std::vector<MPI_Request> reqs(size);
while(j!=size){
- int src = comm_->group()->rank(group_->actor(j));
+ int src = comm_->group()->rank(group_->actor_pid(j));
if (src != rank_ && src != MPI_UNDEFINED) {
reqs[i] = Request::irecv_init(nullptr, 0, MPI_CHAR, src, SMPI_RMA_TAG + 5, comm_);
i++;
// because we only wait for requests that we are responsible for.
// Also use the process id here since the request itself returns from src()
// and dst() the process id, NOT the rank (which only exists in the context of a communicator).
- int proc_id = comm_->group()->actor(rank)->get_pid();
+ int proc_id = comm_->group()->actor_pid(rank);
auto it = std::stable_partition(begin(requests_), end(requests_), [proc_id](const MPI_Request& req) {
return (req == MPI_REQUEST_NULL || (req->src() != proc_id && req->dst() != proc_id));
});