root/ompi/mca/coll/basic/coll_basic.h

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

INCLUDED FROM


   1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
   2 /*
   3  * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
   4  *                         University Research and Technology
   5  *                         Corporation.  All rights reserved.
   6  * Copyright (c) 2004-2016 The University of Tennessee and The University
   7  *                         of Tennessee Research Foundation.  All rights
   8  *                         reserved.
   9  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
  10  *                         University of Stuttgart.  All rights reserved.
  11  * Copyright (c) 2004-2005 The Regents of the University of California.
  12  *                         All rights reserved.
  13  * Copyright (c) 2008      Cisco Systems, Inc.  All rights reserved.
  14  * Copyright (c) 2012      Sandia National Laboratories. All rights reserved.
  15  * Copyright (c) 2013      Los Alamos National Security, LLC. All rights
  16  *                         reserved.
  17  * Copyright (c) 2015      Research Organization for Information Science
  18  *                         and Technology (RIST). All rights reserved.
  19  * $COPYRIGHT$
  20  *
  21  * Additional copyrights may follow
  22  *
  23  * $HEADER$
  24  */
  25 
  26 #ifndef MCA_COLL_BASIC_EXPORT_H
  27 #define MCA_COLL_BASIC_EXPORT_H
  28 
  29 #include "ompi_config.h"
  30 
  31 #include "mpi.h"
  32 #include "ompi/mca/mca.h"
  33 #include "ompi/mca/coll/coll.h"
  34 #include "ompi/request/request.h"
  35 #include "ompi/communicator/communicator.h"
  36 #include "ompi/mca/coll/base/coll_base_functions.h"
  37 
  38 BEGIN_C_DECLS
  39 
  40     /* Globally exported variables */
  41 
  42     OMPI_MODULE_DECLSPEC extern const mca_coll_base_component_2_0_0_t
  43         mca_coll_basic_component;
  44     extern int mca_coll_basic_priority;
  45     extern int mca_coll_basic_crossover;
  46 
  47     /* API functions */
  48 
  49     int mca_coll_basic_init_query(bool enable_progress_threads,
  50                                   bool enable_mpi_threads);
  51     mca_coll_base_module_t
  52         *mca_coll_basic_comm_query(struct ompi_communicator_t *comm,
  53                                    int *priority);
  54 
  55     int mca_coll_basic_module_enable(mca_coll_base_module_t *module,
  56                                      struct ompi_communicator_t *comm);
  57 
  58     int mca_coll_basic_allgather_inter(const void *sbuf, int scount,
  59                                        struct ompi_datatype_t *sdtype,
  60                                        void *rbuf, int rcount,
  61                                        struct ompi_datatype_t *rdtype,
  62                                        struct ompi_communicator_t *comm,
  63                                        mca_coll_base_module_t *module);
  64 
  65     int mca_coll_basic_allgatherv_inter(const void *sbuf, int scount,
  66                                         struct ompi_datatype_t *sdtype,
  67                                         void *rbuf, const int *rcounts,
  68                                         const int *disps,
  69                                         struct ompi_datatype_t *rdtype,
  70                                         struct ompi_communicator_t *comm,
  71                                         mca_coll_base_module_t *module);
  72 
  73     int mca_coll_basic_allreduce_intra(const void *sbuf, void *rbuf, int count,
  74                                        struct ompi_datatype_t *dtype,
  75                                        struct ompi_op_t *op,
  76                                        struct ompi_communicator_t *comm,
  77                                        mca_coll_base_module_t *module);
  78     int mca_coll_basic_allreduce_inter(const void *sbuf, void *rbuf, int count,
  79                                        struct ompi_datatype_t *dtype,
  80                                        struct ompi_op_t *op,
  81                                        struct ompi_communicator_t *comm,
  82                                        mca_coll_base_module_t *module);
  83 
  84     int mca_coll_basic_alltoall_inter(const void *sbuf, int scount,
  85                                       struct ompi_datatype_t *sdtype,
  86                                       void *rbuf, int rcount,
  87                                       struct ompi_datatype_t *rdtype,
  88                                       struct ompi_communicator_t *comm,
  89                                       mca_coll_base_module_t *module);
  90 
  91     int mca_coll_basic_alltoallv_inter(const void *sbuf, const int *scounts,
  92                                        const int *sdisps,
  93                                        struct ompi_datatype_t *sdtype,
  94                                        void *rbuf, const int *rcounts,
  95                                        const int *rdisps,
  96                                        struct ompi_datatype_t *rdtype,
  97                                        struct ompi_communicator_t *comm,
  98                                        mca_coll_base_module_t *module);
  99 
 100     int mca_coll_basic_alltoallw_intra(const void *sbuf, const int *scounts,
 101                                        const int *sdisps,
 102                                        struct ompi_datatype_t * const *sdtypes,
 103                                        void *rbuf, const int *rcounts,
 104                                        const int *rdisps,
 105                                        struct ompi_datatype_t * const *rdtypes,
 106                                        struct ompi_communicator_t *comm,
 107                                        mca_coll_base_module_t *module);
 108     int mca_coll_basic_alltoallw_inter(const void *sbuf, const int *scounts,
 109                                        const int *sdisps,
 110                                        struct ompi_datatype_t * const *sdtypes,
 111                                        void *rbuf, const int *rcounts,
 112                                        const int *rdisps,
 113                                        struct ompi_datatype_t * const *rdtypes,
 114                                        struct ompi_communicator_t *comm,
 115                                        mca_coll_base_module_t *module);
 116 
 117     int mca_coll_basic_barrier_inter_lin(struct ompi_communicator_t *comm,
 118                                          mca_coll_base_module_t *module);
 119 
 120     int mca_coll_basic_barrier_intra_log(struct ompi_communicator_t *comm,
 121                                          mca_coll_base_module_t *module);
 122 
 123     int mca_coll_basic_bcast_lin_inter(void *buff, int count,
 124                                        struct ompi_datatype_t *datatype,
 125                                        int root,
 126                                        struct ompi_communicator_t *comm,
 127                                        mca_coll_base_module_t *module);
 128 
 129     int mca_coll_basic_bcast_log_intra(void *buff, int count,
 130                                        struct ompi_datatype_t *datatype,
 131                                        int root,
 132                                        struct ompi_communicator_t *comm,
 133                                        mca_coll_base_module_t *module);
 134 
 135     int mca_coll_basic_bcast_log_inter(void *buff, int count,
 136                                        struct ompi_datatype_t *datatype,
 137                                        int root,
 138                                        struct ompi_communicator_t *comm,
 139                                        mca_coll_base_module_t *module);
 140 
 141     int mca_coll_basic_exscan_intra(const void *sbuf, void *rbuf, int count,
 142                                     struct ompi_datatype_t *dtype,
 143                                     struct ompi_op_t *op,
 144                                     struct ompi_communicator_t *comm,
 145                                     mca_coll_base_module_t *module);
 146 
 147     int mca_coll_basic_exscan_inter(const void *sbuf, void *rbuf, int count,
 148                                     struct ompi_datatype_t *dtype,
 149                                     struct ompi_op_t *op,
 150                                     struct ompi_communicator_t *comm,
 151                                     mca_coll_base_module_t *module);
 152 
 153     int mca_coll_basic_gather_inter(const void *sbuf, int scount,
 154                                     struct ompi_datatype_t *sdtype,
 155                                     void *rbuf, int rcount,
 156                                     struct ompi_datatype_t *rdtype,
 157                                     int root,
 158                                     struct ompi_communicator_t *comm,
 159                                     mca_coll_base_module_t *module);
 160 
 161     int mca_coll_basic_gatherv_intra(const void *sbuf, int scount,
 162                                      struct ompi_datatype_t *sdtype,
 163                                      void *rbuf, const int *rcounts, const int *disps,
 164                                      struct ompi_datatype_t *rdtype,
 165                                      int root,
 166                                      struct ompi_communicator_t *comm,
 167                                      mca_coll_base_module_t *module);
 168 
 169     int mca_coll_basic_gatherv_inter(const void *sbuf, int scount,
 170                                      struct ompi_datatype_t *sdtype,
 171                                      void *rbuf, const int *rcounts, const int *disps,
 172                                      struct ompi_datatype_t *rdtype,
 173                                      int root,
 174                                      struct ompi_communicator_t *comm,
 175                                      mca_coll_base_module_t *module);
 176 
 177     int mca_coll_basic_reduce_lin_inter(const void *sbuf, void *rbuf, int count,
 178                                         struct ompi_datatype_t *dtype,
 179                                         struct ompi_op_t *op,
 180                                         int root,
 181                                         struct ompi_communicator_t *comm,
 182                                         mca_coll_base_module_t *module);
 183 
 184     int mca_coll_basic_reduce_log_intra(const void *sbuf, void *rbuf, int count,
 185                                         struct ompi_datatype_t *dtype,
 186                                         struct ompi_op_t *op,
 187                                         int root,
 188                                         struct ompi_communicator_t *comm,
 189                                         mca_coll_base_module_t *module);
 190     int mca_coll_basic_reduce_log_inter(const void *sbuf, void *rbuf, int count,
 191                                         struct ompi_datatype_t *dtype,
 192                                         struct ompi_op_t *op,
 193                                         int root,
 194                                         struct ompi_communicator_t *comm,
 195                                         mca_coll_base_module_t *module);
 196 
 197     int mca_coll_basic_reduce_scatter_block_intra(const void *sbuf, void *rbuf,
 198                                                   int rcount,
 199                                                   struct ompi_datatype_t *dtype,
 200                                                   struct ompi_op_t *op,
 201                                                   struct ompi_communicator_t *comm,
 202                                                   mca_coll_base_module_t *module);
 203 
 204     int mca_coll_basic_reduce_scatter_block_inter(const void *sbuf, void *rbuf,
 205                                                   int rcount,
 206                                                   struct ompi_datatype_t *dtype,
 207                                                   struct ompi_op_t *op,
 208                                                   struct ompi_communicator_t *comm,
 209                                                   mca_coll_base_module_t *module);
 210 
 211     int mca_coll_basic_reduce_scatter_intra(const void *sbuf, void *rbuf,
 212                                             const int *rcounts,
 213                                             struct ompi_datatype_t *dtype,
 214                                             struct ompi_op_t *op,
 215                                             struct ompi_communicator_t *comm,
 216                                             mca_coll_base_module_t *module);
 217 
 218     int mca_coll_basic_reduce_scatter_inter(const void *sbuf, void *rbuf,
 219                                             const int *rcounts,
 220                                             struct ompi_datatype_t *dtype,
 221                                             struct ompi_op_t *op,
 222                                             struct ompi_communicator_t *comm,
 223                                             mca_coll_base_module_t *module);
 224 
 225     int mca_coll_basic_scan_intra(const void *sbuf, void *rbuf, int count,
 226                                   struct ompi_datatype_t *dtype,
 227                                   struct ompi_op_t *op,
 228                                   struct ompi_communicator_t *comm,
 229                                   mca_coll_base_module_t *module);
 230     int mca_coll_basic_scan_inter(const void *sbuf, void *rbuf, int count,
 231                                   struct ompi_datatype_t *dtype,
 232                                   struct ompi_op_t *op,
 233                                   struct ompi_communicator_t *comm,
 234                                   mca_coll_base_module_t *module);
 235 
 236     int mca_coll_basic_scatter_inter(const void *sbuf, int scount,
 237                                      struct ompi_datatype_t *sdtype,
 238                                      void *rbuf, int rcount,
 239                                      struct ompi_datatype_t *rdtype,
 240                                      int root,
 241                                      struct ompi_communicator_t *comm,
 242                                      mca_coll_base_module_t *module);
 243 
 244     int mca_coll_basic_scatterv_intra(const void *sbuf, const int *scounts, const int *disps,
 245                                       struct ompi_datatype_t *sdtype,
 246                                       void *rbuf, int rcount,
 247                                       struct ompi_datatype_t *rdtype,
 248                                       int root,
 249                                       struct ompi_communicator_t *comm,
 250                                       mca_coll_base_module_t *module);
 251     int mca_coll_basic_scatterv_inter(const void *sbuf, const int *scounts, const int *disps,
 252                                       struct ompi_datatype_t *sdtype,
 253                                       void *rbuf, int rcount,
 254                                       struct ompi_datatype_t *rdtype,
 255                                       int root,
 256                                       struct ompi_communicator_t *comm,
 257                                       mca_coll_base_module_t *module);
 258 
 259      int mca_coll_basic_neighbor_allgather(const void *sbuf, int scount,
 260                                            struct ompi_datatype_t *sdtype, void *rbuf,
 261                                            int rcount, struct ompi_datatype_t *rdtype,
 262                                            struct ompi_communicator_t *comm,
 263                                            mca_coll_base_module_t *module);
 264 
 265      int mca_coll_basic_neighbor_allgatherv(const void *sbuf, int scount, struct ompi_datatype_t *sdtype,
 266                                             void *rbuf, const int rcounts[], const int disps[], struct ompi_datatype_t *rdtype,
 267                                             struct ompi_communicator_t *comm, mca_coll_base_module_t *module);
 268 
 269      int mca_coll_basic_neighbor_alltoall(const void *sbuf, int scount, struct ompi_datatype_t *sdtype, void *rbuf,
 270                                           int rcount, struct ompi_datatype_t *rdtype, struct ompi_communicator_t *comm,
 271                                           mca_coll_base_module_t *module);
 272 
 273      int mca_coll_basic_neighbor_alltoallv(const void *sbuf, const int scounts[], const int sdisps[],
 274                                            struct ompi_datatype_t *sdtype, void *rbuf, const int rcounts[],
 275                                            const int rdisps[], struct ompi_datatype_t *rdtype,
 276                                            struct ompi_communicator_t *comm, mca_coll_base_module_t *module);
 277 
 278      int mca_coll_basic_neighbor_alltoallw(const void *sbuf, const int scounts[], const MPI_Aint sdisps[],
 279                                            struct ompi_datatype_t * const *sdtypes, void *rbuf, const int rcounts[],
 280                                            const MPI_Aint rdisps[], struct ompi_datatype_t * const *rdtypes,
 281                                            struct ompi_communicator_t *comm, mca_coll_base_module_t *module);
 282 
 283     int mca_coll_basic_ft_event(int status);
 284 
 285 
 286 struct mca_coll_basic_module_t {
 287     mca_coll_base_module_t super;
 288 };
 289 typedef struct mca_coll_basic_module_t mca_coll_basic_module_t;
 290 OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_coll_basic_module_t);
 291 
 292 END_C_DECLS
 293 
 294 #endif /* MCA_COLL_BASIC_EXPORT_H */

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