root/ompi/mca/coll/sync/coll_sync_reduce.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. mca_coll_sync_reduce

   1 /*
   2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
   3  *                         University Research and Technology
   4  *                         Corporation.  All rights reserved.
   5  * Copyright (c) 2004-2017 The University of Tennessee and The University
   6  *                         of Tennessee Research Foundation.  All rights
   7  *                         reserved.
   8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
   9  *                         University of Stuttgart.  All rights reserved.
  10  * Copyright (c) 2004-2005 The Regents of the University of California.
  11  *                         All rights reserved.
  12  * $COPYRIGHT$
  13  *
  14  * Additional copyrights may follow
  15  *
  16  * $HEADER$
  17  */
  18 
  19 #include "ompi_config.h"
  20 
  21 #include "coll_sync.h"
  22 
  23 
  24 /*
  25  *      reduce
  26  *
  27  *      Function:       - reduce
  28  *      Accepts:        - same as MPI_Reduce()
  29  *      Returns:        - MPI_SUCCESS or error code
  30  */
  31 int mca_coll_sync_reduce(const void *sbuf, void *rbuf, int count,
  32                          struct ompi_datatype_t *dtype,
  33                          struct ompi_op_t *op,
  34                          int root, struct ompi_communicator_t *comm,
  35                          mca_coll_base_module_t *module)
  36 {
  37     mca_coll_sync_module_t *s = (mca_coll_sync_module_t*) module;
  38 
  39     if (s->in_operation) {
  40         return s->c_coll.coll_reduce(sbuf, rbuf, count, dtype, op, root, comm,
  41                                      s->c_coll.coll_reduce_module);
  42     }
  43     COLL_SYNC(s, s->c_coll.coll_reduce(sbuf, rbuf, count, dtype,
  44                                        op, root, comm,
  45                                        s->c_coll.coll_reduce_module));
  46 }

/* [<][>][^][v][top][bottom][index][help] */