This source file includes following definitions.
- mca_coll_basic_init_query
- mca_coll_basic_comm_query
- mca_coll_basic_module_enable
- mca_coll_basic_ft_event
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 
  24 
  25 
  26 #include "ompi_config.h"
  27 #include "coll_basic.h"
  28 
  29 #include <stdio.h>
  30 
  31 #include "mpi.h"
  32 #include "ompi/mca/coll/coll.h"
  33 #include "ompi/mca/coll/base/base.h"
  34 #include "coll_basic.h"
  35 
  36 
  37 
  38 
  39 
  40 
  41 
  42 int
  43 mca_coll_basic_init_query(bool enable_progress_threads,
  44                           bool enable_mpi_threads)
  45 {
  46     
  47 
  48     return OMPI_SUCCESS;
  49 }
  50 
  51 
  52 
  53 
  54 
  55 
  56 
  57 mca_coll_base_module_t *
  58 mca_coll_basic_comm_query(struct ompi_communicator_t *comm,
  59                           int *priority)
  60 {
  61     mca_coll_basic_module_t *basic_module;
  62 
  63     basic_module = OBJ_NEW(mca_coll_basic_module_t);
  64     if (NULL == basic_module) return NULL;
  65 
  66     *priority = mca_coll_basic_priority;
  67 
  68     
  69 
  70     basic_module->super.coll_module_enable = mca_coll_basic_module_enable;
  71     basic_module->super.ft_event = mca_coll_basic_ft_event;
  72 
  73     if (OMPI_COMM_IS_INTER(comm)) {
  74         basic_module->super.coll_allgather  = mca_coll_basic_allgather_inter;
  75         basic_module->super.coll_allgatherv = mca_coll_basic_allgatherv_inter;
  76         basic_module->super.coll_allreduce  = mca_coll_basic_allreduce_inter;
  77         basic_module->super.coll_alltoall   = mca_coll_basic_alltoall_inter;
  78         basic_module->super.coll_alltoallv  = mca_coll_basic_alltoallv_inter;
  79         basic_module->super.coll_alltoallw  = mca_coll_basic_alltoallw_inter;
  80         basic_module->super.coll_barrier    = mca_coll_basic_barrier_inter_lin;
  81         basic_module->super.coll_bcast      = mca_coll_basic_bcast_lin_inter;
  82         basic_module->super.coll_exscan     = NULL;
  83         basic_module->super.coll_gather     = mca_coll_basic_gather_inter;
  84         basic_module->super.coll_gatherv    = mca_coll_basic_gatherv_inter;
  85         basic_module->super.coll_reduce     = mca_coll_basic_reduce_lin_inter;
  86         basic_module->super.coll_reduce_scatter_block = mca_coll_basic_reduce_scatter_block_inter;
  87         basic_module->super.coll_reduce_scatter = mca_coll_basic_reduce_scatter_inter;
  88         basic_module->super.coll_scan       = NULL;
  89         basic_module->super.coll_scatter    = mca_coll_basic_scatter_inter;
  90         basic_module->super.coll_scatterv   = mca_coll_basic_scatterv_inter;
  91     } else if (ompi_comm_size(comm) <= mca_coll_basic_crossover) {
  92         basic_module->super.coll_allgather  = ompi_coll_base_allgather_intra_basic_linear;
  93         basic_module->super.coll_allgatherv = ompi_coll_base_allgatherv_intra_basic_default;
  94         basic_module->super.coll_allreduce  = mca_coll_basic_allreduce_intra;
  95         basic_module->super.coll_alltoall   = ompi_coll_base_alltoall_intra_basic_linear;
  96         basic_module->super.coll_alltoallv  = ompi_coll_base_alltoallv_intra_basic_linear;
  97         basic_module->super.coll_alltoallw  = mca_coll_basic_alltoallw_intra;
  98         basic_module->super.coll_barrier    = ompi_coll_base_barrier_intra_basic_linear;
  99         basic_module->super.coll_bcast      = ompi_coll_base_bcast_intra_basic_linear;
 100         basic_module->super.coll_exscan     = mca_coll_basic_exscan_intra;
 101         basic_module->super.coll_gather     = ompi_coll_base_gather_intra_basic_linear;
 102         basic_module->super.coll_gatherv    = mca_coll_basic_gatherv_intra;
 103         basic_module->super.coll_reduce     = ompi_coll_base_reduce_intra_basic_linear;
 104         basic_module->super.coll_reduce_scatter_block = mca_coll_basic_reduce_scatter_block_intra;
 105         basic_module->super.coll_reduce_scatter = mca_coll_basic_reduce_scatter_intra;
 106         basic_module->super.coll_scan       = mca_coll_basic_scan_intra;
 107         basic_module->super.coll_scatter    = ompi_coll_base_scatter_intra_basic_linear;
 108         basic_module->super.coll_scatterv   = mca_coll_basic_scatterv_intra;
 109     } else {
 110         basic_module->super.coll_allgather  = ompi_coll_base_allgather_intra_basic_linear;
 111         basic_module->super.coll_allgatherv = ompi_coll_base_allgatherv_intra_basic_default;
 112         basic_module->super.coll_allreduce  = mca_coll_basic_allreduce_intra;
 113         basic_module->super.coll_alltoall   = ompi_coll_base_alltoall_intra_basic_linear;
 114         basic_module->super.coll_alltoallv  = ompi_coll_base_alltoallv_intra_basic_linear;
 115         basic_module->super.coll_alltoallw  = mca_coll_basic_alltoallw_intra;
 116         basic_module->super.coll_barrier    = mca_coll_basic_barrier_intra_log;
 117         basic_module->super.coll_bcast      = mca_coll_basic_bcast_log_intra;
 118         basic_module->super.coll_exscan     = mca_coll_basic_exscan_intra;
 119         basic_module->super.coll_gather     = ompi_coll_base_gather_intra_basic_linear;
 120         basic_module->super.coll_gatherv    = mca_coll_basic_gatherv_intra;
 121         basic_module->super.coll_reduce     = mca_coll_basic_reduce_log_intra;
 122         basic_module->super.coll_reduce_scatter_block = mca_coll_basic_reduce_scatter_block_intra;
 123         basic_module->super.coll_reduce_scatter = mca_coll_basic_reduce_scatter_intra;
 124         basic_module->super.coll_scan       = mca_coll_basic_scan_intra;
 125         basic_module->super.coll_scatter    = ompi_coll_base_scatter_intra_basic_linear;
 126         basic_module->super.coll_scatterv   = mca_coll_basic_scatterv_intra;
 127     }
 128 
 129     
 130     basic_module->super.coll_neighbor_allgather = mca_coll_basic_neighbor_allgather;
 131     basic_module->super.coll_neighbor_allgatherv = mca_coll_basic_neighbor_allgatherv;
 132     basic_module->super.coll_neighbor_alltoall = mca_coll_basic_neighbor_alltoall;
 133     basic_module->super.coll_neighbor_alltoallv = mca_coll_basic_neighbor_alltoallv;
 134     basic_module->super.coll_neighbor_alltoallw = mca_coll_basic_neighbor_alltoallw;
 135 
 136     basic_module->super.coll_reduce_local = mca_coll_base_reduce_local;
 137 
 138     return &(basic_module->super);
 139 }
 140 
 141 
 142 
 143 
 144 
 145 int
 146 mca_coll_basic_module_enable(mca_coll_base_module_t *module,
 147                              struct ompi_communicator_t *comm)
 148 {
 149     
 150     module->base_data = OBJ_NEW(mca_coll_base_comm_t);
 151     if (NULL == module->base_data) {
 152         return OMPI_ERROR;
 153     }
 154 
 155     
 156     return OMPI_SUCCESS;
 157 }
 158 
 159 int
 160 mca_coll_basic_ft_event(int state) {
 161     if(OPAL_CRS_CHECKPOINT == state) {
 162         ;
 163     }
 164     else if(OPAL_CRS_CONTINUE == state) {
 165         ;
 166     }
 167     else if(OPAL_CRS_RESTART == state) {
 168         ;
 169     }
 170     else if(OPAL_CRS_TERM == state ) {
 171         ;
 172     }
 173     else {
 174         ;
 175     }
 176 
 177     return OMPI_SUCCESS;
 178 }