MPI_Datatype rdtype,
MPI_Comm comm)
{
- int rank, size;
- int sendto, recvfrom, distance, blockcount, i;
+ int sendto, recvfrom, blockcount, i;
+ unsigned int distance;
int *new_rcounts = NULL, *new_rdispls = NULL;
int *new_scounts = NULL, *new_sdispls = NULL;
ptrdiff_t slb, rlb, sext, rext;
char *tmpsend = NULL, *tmprecv = NULL;
- MPI_Datatype new_rdtype, new_sdtype;
+ MPI_Datatype new_rdtype = MPI_DATATYPE_NULL, new_sdtype = MPI_DATATYPE_NULL;
- size = smpi_comm_size(comm);
- rank = smpi_comm_rank(comm);
+ unsigned int size = smpi_comm_size(comm);
+ unsigned int rank = smpi_comm_rank(comm);
XBT_DEBUG(
"coll:tuned:allgather_ompi_bruck rank %d", rank);
- blockcount doubles until the last step when only the remaining data is
exchanged.
*/
- blockcount = 1;
- tmpsend = (char*) rbuf;
-
new_rcounts = (int*) calloc(4*size, sizeof(int));
new_rdispls = new_rcounts + size;
new_scounts = new_rdispls + size;
rbuf, 1, new_rdtype, recvfrom,
COLL_TAG_ALLGATHERV,
comm, MPI_STATUS_IGNORE);
- smpi_datatype_free(&new_sdtype);
- smpi_datatype_free(&new_rdtype);
+ smpi_datatype_unuse(new_sdtype);
+ smpi_datatype_unuse(new_rdtype);
}