root/ompi/mca/fcoll/base/fcoll_base_coll_array.h

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

INCLUDED FROM


   1 /* -*- Mode: C; c-basic-offset:4 ; -*- */
   2 /*
   3  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
   4  *                         University Research and Technology
   5  *                         Corporation.  All rights reserved.
   6  * Copyright (c) 2004-2007 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-2016 University of Houston. All rights reserved.
  14  * Copyright (c) 2015      Research Organization for Information Science
  15  *                         and Technology (RIST). All rights reserved.
  16  * Copyright (c) 2017      IBM Corporation. All rights reserved.
  17  * $COPYRIGHT$
  18  *
  19  * Additional copyrights may follow
  20  *
  21  * $HEADER$
  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  * Modified versions of Collective operations
  43  * Based on an array of procs in group
  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 /* MCA_FCOLL_BASE_COLL_ARRAY_H */

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