Datatype::copy(sendbuf, count, datatype, recvbuf, count, datatype);
// Send/Recv buffers to/from others
Datatype::copy(sendbuf, count, datatype, recvbuf, count, datatype);
// Send/Recv buffers to/from others
int index = 0;
for (int other = 0; other < rank; other++) {
tmpbufs[index] = smpi_get_tmp_sendbuffer(count * dataext);
int index = 0;
for (int other = 0; other < rank; other++) {
tmpbufs[index] = smpi_get_tmp_sendbuffer(count * dataext);
op->apply( tmpbufs[index], recvbuf, &count, datatype);
}
}
op->apply( tmpbufs[index], recvbuf, &count, datatype);
}
}
datatype->extent(&lb, &dataext);
// Send/Recv buffers to/from others
datatype->extent(&lb, &dataext);
// Send/Recv buffers to/from others
int index = 0;
for (int other = 0; other < rank; other++) {
tmpbufs[index] = smpi_get_tmp_sendbuffer(count * dataext);
int index = 0;
for (int other = 0; other < rank; other++) {
tmpbufs[index] = smpi_get_tmp_sendbuffer(count * dataext);
Datatype::copy(tmpbufs[index], count, datatype, recvbuf, count, datatype);
recvbuf_is_empty=0;
} else
Datatype::copy(tmpbufs[index], count, datatype, recvbuf, count, datatype);
recvbuf_is_empty=0;
} else
op->apply( tmpbufs[index], recvbuf, &count, datatype);
}
}
op->apply( tmpbufs[index], recvbuf, &count, datatype);
}
}