This source file includes following definitions.
- mca_coll_inter_init_query
- mca_coll_inter_comm_query
- mca_coll_inter_module_enable
- mca_coll_inter_dump_struct
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 #include "ompi_config.h"
  24 #include "coll_inter.h"
  25 
  26 #include <stdio.h>
  27 
  28 #include "mpi.h"
  29 #include "ompi/communicator/communicator.h"
  30 
  31 #include "ompi/mca/coll/coll.h"
  32 #include "ompi/mca/coll/base/base.h"
  33 #include "ompi/mca/coll/base/coll_base_functions.h"
  34 #include "ompi/mca/coll/base/coll_tags.h"
  35 
  36 #include "ompi/mca/bml/base/base.h"
  37 
  38 
  39 #if 0
  40 static void mca_coll_inter_dump_struct ( struct mca_coll_base_comm_t *c);
  41 
  42 static const mca_coll_base_module_1_0_0_t inter = {
  43 
  44   
  45 
  46   mca_coll_inter_module_init,
  47   mca_coll_inter_module_finalize,
  48 
  49   
  50   
  51 
  52   mca_coll_inter_allgather_inter,
  53   mca_coll_inter_allgatherv_inter,
  54   mca_coll_inter_allreduce_inter,
  55   NULL, 
  56   NULL, 
  57   NULL, 
  58   NULL, 
  59   mca_coll_inter_bcast_inter,
  60   NULL,  
  61   mca_coll_inter_gather_inter,
  62   mca_coll_inter_gatherv_inter,
  63   mca_coll_inter_reduce_inter,
  64   NULL,  
  65   NULL,  
  66   mca_coll_inter_scatter_inter,
  67   mca_coll_inter_scatterv_inter
  68 };
  69 #endif
  70 
  71 
  72 
  73 
  74 
  75 
  76 int mca_coll_inter_init_query(bool allow_inter_user_threads,
  77                              bool have_hidden_user_threads)
  78 {
  79     
  80     return OMPI_SUCCESS;
  81 }
  82 
  83 
  84 
  85 
  86 
  87 
  88 
  89 mca_coll_base_module_t *
  90 mca_coll_inter_comm_query(struct ompi_communicator_t *comm, int *priority)
  91 {
  92     int size, rsize;
  93     mca_coll_inter_module_t *inter_module;
  94 
  95     
  96     if (!OMPI_COMM_IS_INTER(comm)) {
  97         return NULL;
  98     }
  99 
 100     
 101 
 102     *priority = mca_coll_inter_priority_param;
 103     if (0 >= mca_coll_inter_priority_param) {
 104         return NULL;
 105     }
 106 
 107     size = ompi_comm_size(comm);
 108     rsize = ompi_comm_remote_size(comm);
 109 
 110     if ( size < mca_coll_inter_crossover && rsize < mca_coll_inter_crossover) {
 111         return NULL;
 112     }
 113 
 114     inter_module = OBJ_NEW(mca_coll_inter_module_t);
 115     if (NULL == inter_module) {
 116         return NULL;
 117     }
 118 
 119     inter_module->super.coll_module_enable = mca_coll_inter_module_enable;
 120     inter_module->super.ft_event = NULL;
 121 
 122     inter_module->super.coll_allgather  = mca_coll_inter_allgather_inter;
 123     inter_module->super.coll_allgatherv = mca_coll_inter_allgatherv_inter;
 124     inter_module->super.coll_allreduce  = mca_coll_inter_allreduce_inter;
 125     inter_module->super.coll_alltoall   = NULL;
 126     inter_module->super.coll_alltoallv  = NULL;
 127     inter_module->super.coll_alltoallw  = NULL;
 128     inter_module->super.coll_barrier    = NULL;
 129     inter_module->super.coll_bcast      = mca_coll_inter_bcast_inter;
 130     inter_module->super.coll_exscan     = NULL;
 131     inter_module->super.coll_gather     = mca_coll_inter_gather_inter;
 132     inter_module->super.coll_gatherv    = mca_coll_inter_gatherv_inter;
 133     inter_module->super.coll_reduce     = mca_coll_inter_reduce_inter;
 134     inter_module->super.coll_reduce_scatter = NULL;
 135     inter_module->super.coll_scan       = NULL;
 136     inter_module->super.coll_scatter    = mca_coll_inter_scatter_inter;
 137     inter_module->super.coll_scatterv   = mca_coll_inter_scatterv_inter;
 138     inter_module->super.coll_reduce_local = mca_coll_base_reduce_local;
 139 
 140     return &(inter_module->super);
 141 }
 142 
 143 
 144 
 145 
 146 
 147 int
 148 mca_coll_inter_module_enable(mca_coll_base_module_t *module,
 149                              struct ompi_communicator_t *comm)
 150 {
 151     mca_coll_inter_module_t *inter_module = (mca_coll_inter_module_t*) module;
 152 
 153     inter_module->inter_comm = comm;
 154 
 155 #if 0
 156     if ( mca_coll_inter_verbose_param ) {
 157       mca_coll_inter_dump_struct (data);
 158     }
 159 #endif
 160 
 161     return OMPI_SUCCESS;
 162 }
 163 
 164 
 165 #if 0
 166 static void mca_coll_inter_dump_struct ( struct mca_coll_base_comm_t *c)
 167 {
 168     int rank;
 169 
 170     rank = ompi_comm_rank ( c->inter_comm );
 171 
 172     printf("%d: Dump of inter-struct for  comm %s cid %u\n",
 173            rank, c->inter_comm->c_name, c->inter_comm->c_contextid);
 174 
 175 
 176     return;
 177 }
 178 #endif