1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 
  24 #ifndef MCA_FCOLL_BASE_COLL_ARRAY_H
  25 #define MCA_FCOLL_BASE_COLL_ARRAY_H
  26 
  27 #include "mpi.h"
  28 #include "opal/class/opal_list.h"
  29 #include "ompi/communicator/communicator.h"
  30 #include "ompi/info/info.h"
  31 #include "opal/datatype/opal_convertor.h"
  32 #include "ompi/datatype/ompi_datatype.h"
  33 #include "ompi/request/request.h"
  34 
  35 #define FCOLL_TAG_GATHER              100
  36 #define FCOLL_TAG_GATHERV             101
  37 #define FCOLL_TAG_BCAST               102
  38 #define FCOLL_TAG_SCATTERV            103
  39 
  40 
  41 
  42 
  43 
  44 
  45 OMPI_DECLSPEC int ompi_fcoll_base_coll_gatherv_array (void *sbuf,
  46                                                  int scount,
  47                                                  ompi_datatype_t *sdtype,
  48                                                  void *rbuf,
  49                                                  int *rcounts,
  50                                                  int *disps,
  51                                                  ompi_datatype_t *rdtype,
  52                                                  int root_index,
  53                                                  int *procs_in_group,
  54                                                  int procs_per_group,
  55                                                  ompi_communicator_t *comm);
  56 OMPI_DECLSPEC int ompi_fcoll_base_coll_scatterv_array (void *sbuf,
  57                                                   int *scounts,
  58                                                   int *disps,
  59                                                   ompi_datatype_t *sdtype,
  60                                                   void *rbuf,
  61                                                   int rcount,
  62                                                   ompi_datatype_t *rdtype,
  63                                                   int root_index,
  64                                                   int *procs_in_group,
  65                                                   int procs_per_group,
  66                                                   ompi_communicator_t *comm);
  67 OMPI_DECLSPEC int ompi_fcoll_base_coll_allgather_array (void *sbuf,
  68                                                    int scount,
  69                                                    ompi_datatype_t *sdtype,
  70                                                    void *rbuf,
  71                                                    int rcount,
  72                                                    ompi_datatype_t *rdtype,
  73                                                    int root_index,
  74                                                    int *procs_in_group,
  75                                                    int procs_per_group,
  76                                                    ompi_communicator_t *comm);
  77 
  78 OMPI_DECLSPEC int ompi_fcoll_base_coll_allgatherv_array (void *sbuf,
  79                                                     int scount,
  80                                                     ompi_datatype_t *sdtype,
  81                                                     void *rbuf,
  82                                                     int *rcounts,
  83                                                     int *disps,
  84                                                     ompi_datatype_t *rdtype,
  85                                                     int root_index,
  86                                                     int *procs_in_group,
  87                                                     int procs_per_group,
  88                                                     ompi_communicator_t *comm);
  89 OMPI_DECLSPEC int ompi_fcoll_base_coll_gather_array (void *sbuf,
  90                                                 int scount,
  91                                                 ompi_datatype_t *sdtype,
  92                                                 void *rbuf,
  93                                                 int rcount,
  94                                                 ompi_datatype_t *rdtype,
  95                                                 int root_index,
  96                                                 int *procs_in_group,
  97                                                 int procs_per_group,
  98                                                 ompi_communicator_t *comm);
  99 OMPI_DECLSPEC int ompi_fcoll_base_coll_bcast_array (void *buff,
 100                                                int count,
 101                                                ompi_datatype_t *datatype,
 102                                                int root_index,
 103                                                int *procs_in_group,
 104                                                int procs_per_group,
 105                                                ompi_communicator_t *comm);
 106 
 107 END_C_DECLS
 108 
 109 #endif