root, comm);
} else {
- recvtype_size=smpi_datatype_size(recvtype);
- sendtype_size=smpi_datatype_size(sendtype);
+ recvtype_size=recvtype->size();
+ sendtype_size=sendtype->size();
if (rank == root) {
nbytes = sendcnt * sendtype_size;
/* The root of the scatter operation is not the node leader. Recv
* data from the node leader */
leader_scatter_buf = smpi_get_tmp_sendbuffer(nbytes * comm_size);
- smpi_mpi_recv(leader_scatter_buf, nbytes * comm_size, MPI_BYTE,
+ Request::recv(leader_scatter_buf, nbytes * comm_size, MPI_BYTE,
root, COLL_TAG_SCATTER, comm, &status);
}
if (rank == root && local_rank != 0) {
/* The root of the scatter operation is not the node leader. Send
* data to the node leader */
- smpi_mpi_send(sendbuf, sendcnt * comm_size, sendtype,
+ Request::send(sendbuf, sendcnt * comm_size, sendtype,
leader_of_root, COLL_TAG_SCATTER, comm
);
}
root, comm);
} else {
- recvtype_size=smpi_datatype_size(recvtype);
- sendtype_size=smpi_datatype_size(sendtype);
+ recvtype_size=recvtype->size();
+ sendtype_size=sendtype->size();
if (rank == root) {
nbytes = sendcnt * sendtype_size;
/* The root of the scatter operation is not the node leader. Recv
* data from the node leader */
leader_scatter_buf = smpi_get_tmp_sendbuffer(nbytes * comm_size);
- smpi_mpi_recv(leader_scatter_buf, nbytes * comm_size, MPI_BYTE,
+ Request::recv(leader_scatter_buf, nbytes * comm_size, MPI_BYTE,
root, COLL_TAG_SCATTER, comm, &status);
}
if (rank == root && local_rank != 0) {
/* The root of the scatter operation is not the node leader. Send
* data to the node leader */
- smpi_mpi_send(sendbuf, sendcnt * comm_size, sendtype,
+ Request::send(sendbuf, sendcnt * comm_size, sendtype,
leader_of_root, COLL_TAG_SCATTER, comm);
}