XBT_DEBUG(
"coll:tuned:allgather_ompi_bruck rank %d", rank);
- smpi_datatype_extent (sdtype, &slb, &sext);
+ sdtype->extent(&slb, &sext);
- smpi_datatype_extent (rdtype, &rlb, &rext);
+ rdtype->extent(&rlb, &rext);
/* Initialization step:
- if send buffer is not MPI_IN_PLACE, copy send buffer to block rank of
tmprecv = (char*) rbuf + rdispls[rank] * rext;
if (MPI_IN_PLACE != sbuf) {
tmpsend = (char*) sbuf;
- smpi_datatype_copy(tmpsend, scount, sdtype,
+ Datatype::copy(tmpsend, scount, sdtype,
tmprecv, rcounts[rank], rdtype);
}
new_rcounts[i] = rcounts[tmp_rrank];
new_rdispls[i] = rdispls[tmp_rrank];
}
- smpi_datatype_indexed(blockcount, new_scounts, new_sdispls,
+ Datatype::create_indexed(blockcount, new_scounts, new_sdispls,
rdtype, &new_sdtype);
- smpi_datatype_indexed(blockcount, new_rcounts, new_rdispls,
+ Datatype::create_indexed(blockcount, new_rcounts, new_rdispls,
rdtype, &new_rdtype);
- smpi_datatype_commit(&new_sdtype);
- smpi_datatype_commit(&new_rdtype);
+ new_sdtype->commit();
+ new_rdtype->commit();
/* Sendreceive */
- smpi_mpi_sendrecv(rbuf, 1, new_sdtype, sendto,
+ Request::sendrecv(rbuf, 1, new_sdtype, sendto,
COLL_TAG_ALLGATHERV,
rbuf, 1, new_rdtype, recvfrom,
COLL_TAG_ALLGATHERV,
comm, MPI_STATUS_IGNORE);
- smpi_datatype_unuse(new_sdtype);
- smpi_datatype_unuse(new_rdtype);
+ Datatype::unref(new_sdtype);
+ Datatype::unref(new_rdtype);
}