comm);
}
- return smpi_coll_tuned_alltoall_pair (sbuf, scount, sdtype,
+ return smpi_coll_tuned_alltoall_ompi_pairwise (sbuf, scount, sdtype,
rbuf, rcount, rdtype,
comm);
}
int comm_size, i;
size_t total_message_size;
+ if(sbuf==rbuf)sbuf=MPI_IN_PLACE; //restore MPI_IN_PLACE as these algorithms handle it
+
XBT_DEBUG("smpi_coll_tuned_reduce_scatter_mpich");
comm_size = smpi_comm_size(comm);
rbuf, rcounts, rdispls, rdtype,
comm);
}
- return smpi_coll_tuned_allgatherv_ring(sbuf, scount, sdtype,
+ return smpi_coll_tuned_allgatherv_mpich_ring(sbuf, scount, sdtype,
rbuf, rcounts, rdispls, rdtype,
comm);
}
int root, MPI_Comm comm
)
{
+ if(smpi_comm_rank(comm)!=root){
+ sbuf=xbt_malloc(rcount*smpi_datatype_get_extent(rdtype));
+ scount=rcount;
+ sdtype=rdtype;
+ }
return smpi_coll_tuned_scatter_ompi_binomial (sbuf, scount, sdtype,
rbuf, rcount, rdtype,
root, comm);