root/ompi/mca/coll/self/coll_self.h

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

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
   3  *                         University Research and Technology
   4  *                         Corporation.  All rights reserved.
   5  * Copyright (c) 2004-2005 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 (c) 2008      Cisco Systems, Inc.  All rights reserved.
  13  * Copyright (c) 2015      Research Organization for Information Science
  14  *                         and Technology (RIST). All rights reserved.
  15  * $COPYRIGHT$
  16  *
  17  * Additional copyrights may follow
  18  *
  19  * $HEADER$
  20  */
  21 
  22 #ifndef MCA_COLL_SELF_EXPORT_H
  23 #define MCA_COLL_SELF_EXPORT_H
  24 
  25 #include "ompi_config.h"
  26 
  27 #include "mpi.h"
  28 #include "ompi/mca/mca.h"
  29 #include "ompi/mca/coll/coll.h"
  30 #include "ompi/request/request.h"
  31 
  32 BEGIN_C_DECLS
  33 
  34 /*
  35  * Globally exported variable
  36  */
  37 
  38 OMPI_MODULE_DECLSPEC extern const mca_coll_base_component_2_0_0_t mca_coll_self_component;
  39 extern int ompi_coll_self_priority;
  40 
  41 /*
  42  * coll API functions
  43  */
  44 
  45 
  46   /* API functions */
  47 
  48 int mca_coll_self_init_query(bool enable_progress_threads,
  49                              bool enable_mpi_threads);
  50 mca_coll_base_module_t *
  51 mca_coll_self_comm_query(struct ompi_communicator_t *comm, int *priority);
  52 
  53 int mca_coll_self_module_enable(mca_coll_base_module_t *module,
  54                                 struct ompi_communicator_t *comm);
  55 
  56 int mca_coll_self_allgather_intra(const void *sbuf, int scount,
  57                                   struct ompi_datatype_t *sdtype,
  58                                   void *rbuf, int rcount,
  59                                   struct ompi_datatype_t *rdtype,
  60                                   struct ompi_communicator_t *comm,
  61                                   mca_coll_base_module_t *module);
  62 int mca_coll_self_allgatherv_intra(const void *sbuf, int scount,
  63                                    struct ompi_datatype_t *sdtype,
  64                                    void * rbuf, const int *rcounts, const int *disps,
  65                                    struct ompi_datatype_t *rdtype,
  66                                    struct ompi_communicator_t *comm,
  67                                    mca_coll_base_module_t *module);
  68 int mca_coll_self_allreduce_intra(const void *sbuf, void *rbuf, int count,
  69                                   struct ompi_datatype_t *dtype,
  70                                   struct ompi_op_t *op,
  71                                   struct ompi_communicator_t *comm,
  72                                   mca_coll_base_module_t *module);
  73 int mca_coll_self_alltoall_intra(const void *sbuf, int scount,
  74                                  struct ompi_datatype_t *sdtype,
  75                                  void* rbuf, int rcount,
  76                                  struct ompi_datatype_t *rdtype,
  77                                  struct ompi_communicator_t *comm,
  78                                  mca_coll_base_module_t *module);
  79 int mca_coll_self_alltoallv_intra(const void *sbuf, const int *scounts, const int *sdisps,
  80                                   struct ompi_datatype_t *sdtype,
  81                                   void *rbuf, const int *rcounts, const int *rdisps,
  82                                   struct ompi_datatype_t *rdtype,
  83                                   struct ompi_communicator_t *comm,
  84                                   mca_coll_base_module_t *module);
  85 int mca_coll_self_alltoallw_intra(const void *sbuf, const int *scounts, const int *sdisps,
  86                                   struct ompi_datatype_t * const *sdtypes,
  87                                   void *rbuf, const int *rcounts, const int *rdisps,
  88                                   struct ompi_datatype_t * const *rdtypes,
  89                                   struct ompi_communicator_t *comm,
  90                                   mca_coll_base_module_t *module);
  91 int mca_coll_self_barrier_intra(struct ompi_communicator_t *comm,
  92                                 mca_coll_base_module_t *module);
  93 int mca_coll_self_bcast_intra(void *buff, int count,
  94                               struct ompi_datatype_t *datatype,
  95                               int root,
  96                               struct ompi_communicator_t *comm,
  97                               mca_coll_base_module_t *module);
  98 int mca_coll_self_exscan_intra(const void *sbuf, void *rbuf, int count,
  99                                struct ompi_datatype_t *dtype,
 100                                struct ompi_op_t *op,
 101                                struct ompi_communicator_t *comm,
 102                                mca_coll_base_module_t *module);
 103 int mca_coll_self_gather_intra(const void *sbuf, int scount,
 104                                struct ompi_datatype_t *sdtype, void *rbuf,
 105                                int rcount, struct ompi_datatype_t *rdtype,
 106                                int root, struct ompi_communicator_t *comm,
 107                                mca_coll_base_module_t *module);
 108 int mca_coll_self_gatherv_intra(const void *sbuf, int scount,
 109                                 struct ompi_datatype_t *sdtype, void *rbuf,
 110                                 const int *rcounts, const int *disps,
 111                                 struct ompi_datatype_t *rdtype, int root,
 112                                 struct ompi_communicator_t *comm,
 113                                 mca_coll_base_module_t *module);
 114 int mca_coll_self_reduce_intra(const void *sbuf, void* rbuf, int count,
 115                                struct ompi_datatype_t *dtype,
 116                                struct ompi_op_t *op,
 117                                int root,
 118                                struct ompi_communicator_t *comm,
 119                                mca_coll_base_module_t *module);
 120 int mca_coll_self_reduce_scatter_intra(const void *sbuf, void *rbuf,
 121                                        const int *rcounts,
 122                                        struct ompi_datatype_t *dtype,
 123                                        struct ompi_op_t *op,
 124                                        struct ompi_communicator_t *comm,
 125                                        mca_coll_base_module_t *module);
 126 int mca_coll_self_scan_intra(const void *sbuf, void *rbuf, int count,
 127                              struct ompi_datatype_t *dtype,
 128                              struct ompi_op_t *op,
 129                              struct ompi_communicator_t *comm,
 130                              mca_coll_base_module_t *module);
 131 int mca_coll_self_scatter_intra(const void *sbuf, int scount,
 132                                 struct ompi_datatype_t *sdtype, void *rbuf,
 133                                 int rcount, struct ompi_datatype_t *rdtype,
 134                                 int root, struct ompi_communicator_t *comm,
 135                                 mca_coll_base_module_t *module);
 136 int mca_coll_self_scatterv_intra(const void *sbuf, const int *scounts, const int *disps,
 137                                  struct ompi_datatype_t *sdtype,
 138                                  void* rbuf, int rcount,
 139                                  struct ompi_datatype_t *rdtype, int root,
 140                                  struct ompi_communicator_t *comm,
 141                                  mca_coll_base_module_t *module);
 142 
 143 int mca_coll_self_ft_event(int state);
 144 
 145 
 146 struct mca_coll_self_module_t {
 147     mca_coll_base_module_t super;
 148 };
 149 typedef struct mca_coll_self_module_t mca_coll_self_module_t;
 150 OBJ_CLASS_DECLARATION(mca_coll_self_module_t);
 151 
 152 
 153 END_C_DECLS
 154 
 155 #endif /* MCA_COLL_SELF_EXPORT_H */

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