int *disps;
void *tmp_recvbuf;
int mpi_errno = MPI_SUCCESS;
- int type_size, total_count, nbytes, dst, src;
+ int total_count, dst, src;
int is_commutative;
comm_size = smpi_comm_size(comm);
rank = smpi_comm_rank(comm);
return MPI_ERR_COUNT;
}
- type_size= smpi_datatype_size(datatype);
- nbytes = total_count * type_size;
-
-
if (sendbuf != MPI_IN_PLACE) {
/* copy local data into recvbuf */
smpi_datatype_copy(((char *)sendbuf+disps[rank]*extent),
int *disps;
void *tmp_recvbuf, *tmp_results;
int mpi_errno = MPI_SUCCESS;
- int type_size, dis[2], blklens[2], total_count, nbytes, dst;
+ int dis[2], blklens[2], total_count, dst;
int mask, dst_tree_root, my_tree_root, j, k;
int received;
MPI_Datatype sendtype, recvtype;
total_count += recvcounts[i];
}
- type_size= smpi_datatype_size(datatype);
- nbytes = total_count * type_size;
-
-
/* noncommutative and (non-pof2 or block irregular), use recursive doubling. */
/* need to allocate temporary buffer to receive incoming data*/
)
{
int comm_size, i;
- size_t total_message_size, dsize;
- int zerocounts = 0;
+ size_t total_message_size;
XBT_DEBUG("smpi_coll_tuned_reduce_scatter_mpich");
comm_size = smpi_comm_size(comm);
// We need data size for decision function
- dsize=smpi_datatype_size(dtype);
total_message_size = 0;
for (i = 0; i < comm_size; i++) {
total_message_size += rcounts[i];
- if (0 == rcounts[i]) {
- zerocounts = 1;
- }
}
if( smpi_op_is_commute(op) && total_message_size > 524288) {