/*D
   MPIX_Allreduce_enqueue - Enqueue an allreduce operation to a GPU stream that is associated with the local stream

Synopsis:
.vb
int MPIX_Allreduce_enqueue(const void *sendbuf, void *recvbuf, int count,
                           MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
.ve
.vb
int MPIX_Allreduce_enqueue_c(const void *sendbuf, void *recvbuf,
                             MPI_Count count, MPI_Datatype datatype, MPI_Op op,
                             MPI_Comm comm)
.ve

Input Parameters:
+ sendbuf - starting address of send buffer (choice)
. count - number of elements in send buffer (non-negative integer)
. datatype - data type of elements of send buffer (handle)
. op - operation (handle)
- comm - communicator (handle)

Output Parameters:
. recvbuf - starting address of receive buffer (choice)

.N ThreadSafe

.N Fortran

.N Errors
.N MPI_SUCCESS
.N MPI_ERR_ARG
.N MPI_ERR_BUFFER
.N MPI_ERR_COMM
.N MPI_ERR_COUNT
.N MPI_ERR_OP
.N MPI_ERR_TYPE
.N MPI_ERR_OTHER

D*/

