root/ompi/mca/coll/monitoring/coll_monitoring.h

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

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2016      Inria.  All rights reserved.
   3  * Copyright (c) 2017      Research Organization for Information Science
   4  *                         and Technology (RIST). All rights reserved.
   5  * Copyright (c) 2017      Amazon.com, Inc. or its affiliates.  All Rights
   6  *                         reserved.
   7  * $COPYRIGHT$
   8  *
   9  * Additional copyrights may follow
  10  *
  11  * $HEADER$
  12  */
  13 
  14 #ifndef MCA_COLL_MONITORING_H
  15 #define MCA_COLL_MONITORING_H
  16 
  17 BEGIN_C_DECLS
  18 
  19 #include <ompi_config.h>
  20 #include <ompi/mca/coll/coll.h>
  21 #include <ompi/op/op.h>
  22 #include <ompi/request/request.h>
  23 #include <ompi/datatype/ompi_datatype.h>
  24 #include <ompi/communicator/communicator.h>
  25 #include <ompi/mca/common/monitoring/common_monitoring.h>
  26 
  27 struct mca_coll_monitoring_component_t {
  28     mca_coll_base_component_t super;
  29     int priority;
  30 };
  31 typedef struct mca_coll_monitoring_component_t mca_coll_monitoring_component_t;
  32 
  33 OMPI_DECLSPEC extern mca_coll_monitoring_component_t mca_coll_monitoring_component;
  34 
  35 struct mca_coll_monitoring_module_t {
  36     mca_coll_base_module_t super;
  37     mca_coll_base_comm_coll_t real;
  38     mca_monitoring_coll_data_t*data;
  39     opal_atomic_int32_t is_initialized;
  40 };
  41 typedef struct mca_coll_monitoring_module_t mca_coll_monitoring_module_t;
  42 OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_coll_monitoring_module_t);
  43 
  44 /* 
  45  * Coll interface functions
  46  */
  47 
  48 /* Blocking */
  49 extern int mca_coll_monitoring_allgather(const void *sbuf, int scount,
  50                                          struct ompi_datatype_t *sdtype,
  51                                          void *rbuf, int rcount,
  52                                          struct ompi_datatype_t *rdtype,
  53                                          struct ompi_communicator_t *comm,
  54                                          mca_coll_base_module_t *module);
  55 
  56 extern int mca_coll_monitoring_allgatherv(const void *sbuf, int scount,
  57                                           struct ompi_datatype_t *sdtype,
  58                                           void *rbuf, const int *rcounts,
  59                                           const int *disps,
  60                                           struct ompi_datatype_t *rdtype,
  61                                           struct ompi_communicator_t *comm,
  62                                           mca_coll_base_module_t *module);
  63 
  64 extern int mca_coll_monitoring_allreduce(const void *sbuf, void *rbuf, int count,
  65                                          struct ompi_datatype_t *dtype,
  66                                          struct ompi_op_t *op,
  67                                          struct ompi_communicator_t *comm,
  68                                          mca_coll_base_module_t *module);
  69 
  70 extern int mca_coll_monitoring_alltoall(const void *sbuf, int scount,
  71                                         struct ompi_datatype_t *sdtype,
  72                                         void *rbuf, int rcount,
  73                                         struct ompi_datatype_t *rdtype,
  74                                         struct ompi_communicator_t *comm,
  75                                         mca_coll_base_module_t *module);
  76 
  77 extern int mca_coll_monitoring_alltoallv(const void *sbuf, const int *scounts,
  78                                          const int *sdisps,
  79                                          struct ompi_datatype_t *sdtype,
  80                                          void *rbuf, const int *rcounts,
  81                                          const int *rdisps,
  82                                          struct ompi_datatype_t *rdtype,
  83                                          struct ompi_communicator_t *comm,
  84                                          mca_coll_base_module_t *module);
  85 
  86 extern int mca_coll_monitoring_alltoallw(const void *sbuf, const int *scounts,
  87                                          const int *sdisps,
  88                                          struct ompi_datatype_t * const *sdtypes,
  89                                          void *rbuf, const int *rcounts,
  90                                          const int *rdisps,
  91                                          struct ompi_datatype_t * const *rdtypes,
  92                                          struct ompi_communicator_t *comm,
  93                                          mca_coll_base_module_t *module);
  94 
  95 extern int mca_coll_monitoring_barrier(struct ompi_communicator_t *comm,
  96                                        mca_coll_base_module_t *module);
  97 
  98 extern int mca_coll_monitoring_bcast(void *buff, int count,
  99                                      struct ompi_datatype_t *datatype,
 100                                      int root,
 101                                      struct ompi_communicator_t *comm,
 102                                      mca_coll_base_module_t *module);
 103 
 104 extern int mca_coll_monitoring_exscan(const void *sbuf, void *rbuf, int count,
 105                                       struct ompi_datatype_t *dtype,
 106                                       struct ompi_op_t *op,
 107                                       struct ompi_communicator_t *comm,
 108                                       mca_coll_base_module_t *module);
 109 
 110 extern int mca_coll_monitoring_gather(const void *sbuf, int scount,
 111                                       struct ompi_datatype_t *sdtype,
 112                                       void *rbuf, int rcount, struct ompi_datatype_t *rdtype,
 113                                       int root, struct ompi_communicator_t *comm,
 114                                       mca_coll_base_module_t *module);
 115 
 116 extern int mca_coll_monitoring_gatherv(const void *sbuf, int scount,
 117                                        struct ompi_datatype_t *sdtype,
 118                                        void *rbuf, const int *rcounts, const int *disps,
 119                                        struct ompi_datatype_t *rdtype,
 120                                        int root,
 121                                        struct ompi_communicator_t *comm,
 122                                        mca_coll_base_module_t *module);
 123 
 124 extern int mca_coll_monitoring_reduce(const void *sbuf, void *rbuf, int count,
 125                                       struct ompi_datatype_t *dtype,
 126                                       struct ompi_op_t *op,
 127                                       int root,
 128                                       struct ompi_communicator_t *comm,
 129                                       mca_coll_base_module_t *module);
 130 
 131 extern int mca_coll_monitoring_reduce_scatter(const void *sbuf, void *rbuf,
 132                                               const int *rcounts,
 133                                               struct ompi_datatype_t *dtype,
 134                                               struct ompi_op_t *op,
 135                                               struct ompi_communicator_t *comm,
 136                                               mca_coll_base_module_t *module);
 137 
 138 extern int mca_coll_monitoring_reduce_scatter_block(const void *sbuf, void *rbuf,
 139                                                     int rcount,
 140                                                     struct ompi_datatype_t *dtype,
 141                                                     struct ompi_op_t *op,
 142                                                     struct ompi_communicator_t *comm,
 143                                                     mca_coll_base_module_t *module);
 144 
 145 extern int mca_coll_monitoring_scan(const void *sbuf, void *rbuf, int count,
 146                                     struct ompi_datatype_t *dtype,
 147                                     struct ompi_op_t *op,
 148                                     struct ompi_communicator_t *comm,
 149                                     mca_coll_base_module_t *module);
 150 
 151 extern int mca_coll_monitoring_scatter(const void *sbuf, int scount,
 152                                        struct ompi_datatype_t *sdtype,
 153                                        void *rbuf, int rcount,
 154                                        struct ompi_datatype_t *rdtype,
 155                                        int root,
 156                                        struct ompi_communicator_t *comm,
 157                                        mca_coll_base_module_t *module);
 158 
 159 extern int mca_coll_monitoring_scatterv(const void *sbuf, const int *scounts, const int *disps,
 160                                         struct ompi_datatype_t *sdtype,
 161                                         void *rbuf, int rcount,
 162                                         struct ompi_datatype_t *rdtype,
 163                                         int root,
 164                                         struct ompi_communicator_t *comm,
 165                                         mca_coll_base_module_t *module);
 166 
 167 /* Nonblocking */
 168 extern int mca_coll_monitoring_iallgather(const void *sbuf, int scount,
 169                                           struct ompi_datatype_t *sdtype,
 170                                           void *rbuf, int rcount,
 171                                           struct ompi_datatype_t *rdtype,
 172                                           struct ompi_communicator_t *comm,
 173                                           ompi_request_t ** request,
 174                                           mca_coll_base_module_t *module);
 175 
 176 extern int mca_coll_monitoring_iallgatherv(const void *sbuf, int scount,
 177                                            struct ompi_datatype_t *sdtype,
 178                                            void *rbuf, const int *rcounts,
 179                                            const int *disps,
 180                                            struct ompi_datatype_t *rdtype,
 181                                            struct ompi_communicator_t *comm,
 182                                            ompi_request_t ** request,
 183                                            mca_coll_base_module_t *module);
 184 
 185 extern int mca_coll_monitoring_iallreduce(const void *sbuf, void *rbuf, int count,
 186                                           struct ompi_datatype_t *dtype,
 187                                           struct ompi_op_t *op,
 188                                           struct ompi_communicator_t *comm,
 189                                           ompi_request_t ** request,
 190                                           mca_coll_base_module_t *module);
 191 
 192 extern int mca_coll_monitoring_ialltoall(const void *sbuf, int scount,
 193                                          struct ompi_datatype_t *sdtype,
 194                                          void *rbuf, int rcount,
 195                                          struct ompi_datatype_t *rdtype,
 196                                          struct ompi_communicator_t *comm,
 197                                          ompi_request_t ** request,
 198                                          mca_coll_base_module_t *module);
 199 
 200 extern int mca_coll_monitoring_ialltoallv(const void *sbuf, const int *scounts,
 201                                           const int *sdisps,
 202                                           struct ompi_datatype_t *sdtype,
 203                                           void *rbuf, const int *rcounts,
 204                                           const int *rdisps,
 205                                           struct ompi_datatype_t *rdtype,
 206                                           struct ompi_communicator_t *comm,
 207                                           ompi_request_t ** request,
 208                                           mca_coll_base_module_t *module);
 209 
 210 extern int mca_coll_monitoring_ialltoallw(const void *sbuf, const int *scounts,
 211                                           const int *sdisps,
 212                                           struct ompi_datatype_t * const *sdtypes,
 213                                           void *rbuf, const int *rcounts,
 214                                           const int *rdisps,
 215                                           struct ompi_datatype_t * const *rdtypes,
 216                                           struct ompi_communicator_t *comm,
 217                                           ompi_request_t ** request,
 218                                           mca_coll_base_module_t *module);
 219 
 220 extern int mca_coll_monitoring_ibarrier(struct ompi_communicator_t *comm,
 221                                         ompi_request_t ** request,
 222                                         mca_coll_base_module_t *module);
 223 
 224 extern int mca_coll_monitoring_ibcast(void *buff, int count,
 225                                       struct ompi_datatype_t *datatype,
 226                                       int root,
 227                                       struct ompi_communicator_t *comm,
 228                                       ompi_request_t ** request,
 229                                       mca_coll_base_module_t *module);
 230 
 231 extern int mca_coll_monitoring_iexscan(const void *sbuf, void *rbuf, int count,
 232                                        struct ompi_datatype_t *dtype,
 233                                        struct ompi_op_t *op,
 234                                        struct ompi_communicator_t *comm,
 235                                        ompi_request_t ** request,
 236                                        mca_coll_base_module_t *module);
 237 
 238 extern int mca_coll_monitoring_igather(const void *sbuf, int scount,
 239                                        struct ompi_datatype_t *sdtype,
 240                                        void *rbuf, int rcount, struct ompi_datatype_t *rdtype,
 241                                        int root, struct ompi_communicator_t *comm,
 242                                        ompi_request_t ** request,
 243                                        mca_coll_base_module_t *module);
 244 
 245 extern int mca_coll_monitoring_igatherv(const void *sbuf, int scount,
 246                                         struct ompi_datatype_t *sdtype,
 247                                         void *rbuf, const int *rcounts, const int *disps,
 248                                         struct ompi_datatype_t *rdtype,
 249                                         int root,
 250                                         struct ompi_communicator_t *comm,
 251                                         ompi_request_t ** request,
 252                                         mca_coll_base_module_t *module);
 253 
 254 extern int mca_coll_monitoring_ireduce(const void *sbuf, void *rbuf, int count,
 255                                        struct ompi_datatype_t *dtype,
 256                                        struct ompi_op_t *op,
 257                                        int root,
 258                                        struct ompi_communicator_t *comm,
 259                                        ompi_request_t ** request,
 260                                        mca_coll_base_module_t *module);
 261 
 262 extern int mca_coll_monitoring_ireduce_scatter(const void *sbuf, void *rbuf,
 263                                                const int *rcounts,
 264                                                struct ompi_datatype_t *dtype,
 265                                                struct ompi_op_t *op,
 266                                                struct ompi_communicator_t *comm,
 267                                                ompi_request_t ** request,
 268                                                mca_coll_base_module_t *module);
 269 
 270 extern int mca_coll_monitoring_ireduce_scatter_block(const void *sbuf, void *rbuf,
 271                                                      int rcount,
 272                                                      struct ompi_datatype_t *dtype,
 273                                                      struct ompi_op_t *op,
 274                                                      struct ompi_communicator_t *comm,
 275                                                      ompi_request_t ** request,
 276                                                      mca_coll_base_module_t *module);
 277 
 278 extern int mca_coll_monitoring_iscan(const void *sbuf, void *rbuf, int count,
 279                                      struct ompi_datatype_t *dtype,
 280                                      struct ompi_op_t *op,
 281                                      struct ompi_communicator_t *comm,
 282                                      ompi_request_t ** request,
 283                                      mca_coll_base_module_t *module);
 284 
 285 extern int mca_coll_monitoring_iscatter(const void *sbuf, int scount,
 286                                         struct ompi_datatype_t *sdtype,
 287                                         void *rbuf, int rcount,
 288                                         struct ompi_datatype_t *rdtype,
 289                                         int root,
 290                                         struct ompi_communicator_t *comm,
 291                                         ompi_request_t ** request,
 292                                         mca_coll_base_module_t *module);
 293 
 294 extern int mca_coll_monitoring_iscatterv(const void *sbuf, const int *scounts, const int *disps,
 295                                          struct ompi_datatype_t *sdtype,
 296                                          void *rbuf, int rcount,
 297                                          struct ompi_datatype_t *rdtype,
 298                                          int root,
 299                                          struct ompi_communicator_t *comm,
 300                                          ompi_request_t ** request,
 301                                          mca_coll_base_module_t *module);
 302 
 303 /* Neighbor */
 304 extern int mca_coll_monitoring_neighbor_allgather(const void *sbuf, int scount,
 305                                                   struct ompi_datatype_t *sdtype, void *rbuf,
 306                                                   int rcount, struct ompi_datatype_t *rdtype,
 307                                                   struct ompi_communicator_t *comm,
 308                                                   mca_coll_base_module_t *module);
 309 
 310 extern int mca_coll_monitoring_neighbor_allgatherv(const void *sbuf, int scount,
 311                                                    struct ompi_datatype_t *sdtype, void * rbuf,
 312                                                    const int *rcounts, const int *disps,
 313                                                    struct ompi_datatype_t *rdtype,
 314                                                    struct ompi_communicator_t *comm,
 315                                                    mca_coll_base_module_t *module);
 316 
 317 extern int mca_coll_monitoring_neighbor_alltoall(const void *sbuf, int scount,
 318                                                  struct ompi_datatype_t *sdtype,
 319                                                  void *rbuf, int rcount,
 320                                                  struct ompi_datatype_t *rdtype,
 321                                                  struct ompi_communicator_t *comm,
 322                                                  mca_coll_base_module_t *module);
 323 
 324 extern int mca_coll_monitoring_neighbor_alltoallv(const void *sbuf, const int *scounts,
 325                                                   const int *sdisps,
 326                                                   struct ompi_datatype_t *sdtype,
 327                                                   void *rbuf, const int *rcounts,
 328                                                   const int *rdisps,
 329                                                   struct ompi_datatype_t *rdtype,
 330                                                   struct ompi_communicator_t *comm,
 331                                                   mca_coll_base_module_t *module);
 332 
 333 extern int mca_coll_monitoring_neighbor_alltoallw(const void *sbuf, const int *scounts,
 334                                                   const MPI_Aint *sdisps,
 335                                                   struct ompi_datatype_t * const *sdtypes,
 336                                                   void *rbuf, const int *rcounts,
 337                                                   const MPI_Aint *rdisps,
 338                                                   struct ompi_datatype_t * const *rdtypes,
 339                                                   struct ompi_communicator_t *comm,
 340                                                   mca_coll_base_module_t *module);
 341 
 342 extern int mca_coll_monitoring_ineighbor_allgather(const void *sbuf, int scount,
 343                                                    struct ompi_datatype_t *sdtype, void *rbuf,
 344                                                    int rcount, struct ompi_datatype_t *rdtype,
 345                                                    struct ompi_communicator_t *comm,
 346                                                    ompi_request_t ** request,
 347                                                    mca_coll_base_module_t *module);
 348 
 349 extern int mca_coll_monitoring_ineighbor_allgatherv(const void *sbuf, int scount,
 350                                                     struct ompi_datatype_t *sdtype,
 351                                                     void * rbuf, const int *rcounts,
 352                                                     const int *disps,
 353                                                     struct ompi_datatype_t *rdtype,
 354                                                     struct ompi_communicator_t *comm,
 355                                                     ompi_request_t ** request,
 356                                                     mca_coll_base_module_t *module);
 357 
 358 extern int mca_coll_monitoring_ineighbor_alltoall(const void *sbuf, int scount,
 359                                                   struct ompi_datatype_t *sdtype, void *rbuf,
 360                                                   int rcount, struct ompi_datatype_t *rdtype,
 361                                                   struct ompi_communicator_t *comm,
 362                                                   ompi_request_t ** request,
 363                                                   mca_coll_base_module_t *module);
 364 
 365 extern int mca_coll_monitoring_ineighbor_alltoallv(const void *sbuf, const int *scounts,
 366                                                    const int *sdisps,
 367                                                    struct ompi_datatype_t *sdtype,
 368                                                    void *rbuf, const int *rcounts,
 369                                                    const int *rdisps,
 370                                                    struct ompi_datatype_t *rdtype,
 371                                                    struct ompi_communicator_t *comm,
 372                                                    ompi_request_t ** request,
 373                                                    mca_coll_base_module_t *module);
 374 
 375 extern int mca_coll_monitoring_ineighbor_alltoallw(const void *sbuf, const int *scounts,
 376                                                    const MPI_Aint *sdisps,
 377                                                    struct ompi_datatype_t * const *sdtypes,
 378                                                    void *rbuf, const int *rcounts,
 379                                                    const MPI_Aint *rdisps,
 380                                                    struct ompi_datatype_t * const *rdtypes,
 381                                                    struct ompi_communicator_t *comm,
 382                                                    ompi_request_t ** request,
 383                                                    mca_coll_base_module_t *module);
 384 
 385 END_C_DECLS
 386 
 387 #endif  /* MCA_COLL_MONITORING_H */

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