1
1

SHMEM/SCOLL: Fix inplace reductions

Signed-off-by: Mikhail Brinskii <mikhailb@nvidia.com>
(cherry picked from commit dfe20e0472)
Этот коммит содержится в:
Mikhail Brinskii 2020-09-12 16:43:30 +03:00
родитель edf03e52f3
Коммит 0f6dd8f2a5

Просмотреть файл

@ -226,11 +226,11 @@ int mca_scoll_mpi_reduce(struct oshmem_group_t *group,
MPI_COLL_VERBOSE(20,"RUNNING MPI REDUCE"); MPI_COLL_VERBOSE(20,"RUNNING MPI REDUCE");
void *sbuf, *rbuf; void *sbuf, *rbuf;
mpi_module = (mca_scoll_mpi_module_t *) group->g_scoll.scoll_reduce_module; mpi_module = (mca_scoll_mpi_module_t *) group->g_scoll.scoll_reduce_module;
sbuf = (void *) source;
rbuf = target;
dtype = shmem_dtype_to_ompi_dtype(op); dtype = shmem_dtype_to_ompi_dtype(op);
h_op = shmem_op_to_ompi_op(op->op); h_op = shmem_op_to_ompi_op(op->op);
count = nlong/op->dt_size; count = nlong/op->dt_size;
rbuf = target;
sbuf = (source == target) ? MPI_IN_PLACE : (void*)source;
/* Do nothing on zero-length request */ /* Do nothing on zero-length request */
if (OPAL_UNLIKELY(!nlong)) { if (OPAL_UNLIKELY(!nlong)) {