This source file includes following definitions.
- basic_register
- basic_open
- basic_close
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 #include "oshmem_config.h"
  15 
  16 #include "oshmem/constants.h"
  17 #include "oshmem/mca/scoll/scoll.h"
  18 #include "oshmem/mca/scoll/base/base.h"
  19 #include "scoll_basic.h"
  20 
  21 
  22 
  23 
  24 const char *mca_scoll_basic_component_version_string =
  25 "Open SHMEM basic collective MCA component version " OSHMEM_VERSION;
  26 
  27 
  28 
  29 
  30 int mca_scoll_basic_priority_param = -1;
  31 int mca_scoll_basic_param_barrier_algorithm = SCOLL_ALG_BARRIER_ADAPTIVE;
  32 int mca_scoll_basic_param_broadcast_algorithm = SCOLL_ALG_BROADCAST_BINOMIAL;
  33 int mca_scoll_basic_param_collect_algorithm =
  34         SCOLL_ALG_COLLECT_RECURSIVE_DOUBLING;
  35 int mca_scoll_basic_param_reduce_algorithm = SCOLL_ALG_REDUCE_RECURSIVE_DOUBLING;
  36 
  37 
  38 
  39 
  40 static int basic_register(void);
  41 static int basic_open(void);
  42 static int basic_close(void);
  43 
  44 
  45 
  46 
  47 
  48 
  49 mca_scoll_base_component_t mca_scoll_basic_component = {
  50 
  51     
  52 
  53 
  54     .scoll_version = {
  55         MCA_SCOLL_BASE_VERSION_2_0_0,
  56 
  57         
  58         .mca_component_name = "basic",
  59         MCA_BASE_MAKE_VERSION(component, OSHMEM_MAJOR_VERSION, OSHMEM_MINOR_VERSION,
  60                               OSHMEM_RELEASE_VERSION),
  61 
  62         
  63         .mca_open_component = basic_open,
  64         .mca_close_component = basic_close,
  65         .mca_register_component_params = basic_register,
  66     },
  67     .scoll_data = {
  68         
  69         MCA_BASE_METADATA_PARAM_CHECKPOINT
  70     },
  71 
  72     
  73 
  74     .scoll_init = mca_scoll_basic_init,
  75     .scoll_query = mca_scoll_basic_query,
  76 };
  77 
  78 static int basic_register(void)
  79 {
  80     char help_msg[200];
  81     mca_base_component_t *comp = &mca_scoll_basic_component.scoll_version;
  82 
  83     mca_scoll_basic_priority_param = 75;
  84     (void) mca_base_component_var_register(comp,
  85                                            "priority",
  86                                            "Priority of the basic scoll:basic component",
  87                                            MCA_BASE_VAR_TYPE_INT, NULL, 0, MCA_BASE_VAR_FLAG_SETTABLE,
  88                                            OPAL_INFO_LVL_9,
  89                                            MCA_BASE_VAR_SCOPE_READONLY,
  90                                            &mca_scoll_basic_priority_param);
  91 
  92     sprintf(help_msg,
  93             "Algorithm selection for Barrier (%d - Central Counter, %d - Tournament, %d - Recursive Doubling, %d - Dissemination, %d - Basic, %d - Adaptive)",
  94             SCOLL_ALG_BARRIER_CENTRAL_COUNTER,
  95             SCOLL_ALG_BARRIER_TOURNAMENT,
  96             SCOLL_ALG_BARRIER_RECURSIVE_DOUBLING,
  97             SCOLL_ALG_BARRIER_DISSEMINATION,
  98             SCOLL_ALG_BARRIER_BASIC,
  99             SCOLL_ALG_BARRIER_ADAPTIVE);
 100     (void) mca_base_component_var_register(comp,
 101                                            "barrier_alg",
 102                                            help_msg,
 103                                            MCA_BASE_VAR_TYPE_INT, NULL, 0, MCA_BASE_VAR_FLAG_SETTABLE,
 104                                            OPAL_INFO_LVL_9,
 105                                            MCA_BASE_VAR_SCOPE_READONLY,
 106                                            &mca_scoll_basic_param_barrier_algorithm);
 107 
 108     sprintf(help_msg,
 109             "Algorithm selection for Broadcast (%d - Central Counter, %d - Binomial)",
 110             SCOLL_ALG_BROADCAST_CENTRAL_COUNTER,
 111             SCOLL_ALG_BROADCAST_BINOMIAL);
 112     (void) mca_base_component_var_register(comp,
 113                                            "broadcast_alg",
 114                                            help_msg,
 115                                            MCA_BASE_VAR_TYPE_INT, NULL, 0, MCA_BASE_VAR_FLAG_SETTABLE,
 116                                            OPAL_INFO_LVL_9,
 117                                            MCA_BASE_VAR_SCOPE_READONLY,
 118                                            &mca_scoll_basic_param_broadcast_algorithm);
 119 
 120     sprintf(help_msg,
 121             "Algorithm selection for Collect (%d - Central Counter, %d - Tournament, %d - Recursive Doubling, %d - Ring)",
 122             SCOLL_ALG_COLLECT_CENTRAL_COUNTER,
 123             SCOLL_ALG_COLLECT_TOURNAMENT,
 124             SCOLL_ALG_COLLECT_RECURSIVE_DOUBLING,
 125             SCOLL_ALG_COLLECT_RING);
 126     (void) mca_base_component_var_register(comp,
 127                                            "collect_alg",
 128                                            help_msg,
 129                                            MCA_BASE_VAR_TYPE_INT, NULL, 0, MCA_BASE_VAR_FLAG_SETTABLE,
 130                                            OPAL_INFO_LVL_9,
 131                                            MCA_BASE_VAR_SCOPE_READONLY,
 132                                            &mca_scoll_basic_param_collect_algorithm);
 133 
 134     sprintf(help_msg,
 135             "Algorithm selection for Reduce (%d - Central Counter, %d - Tournament, %d - Recursive Doubling %d - Linear %d - Log)",
 136             SCOLL_ALG_REDUCE_CENTRAL_COUNTER,
 137             SCOLL_ALG_REDUCE_TOURNAMENT,
 138             SCOLL_ALG_REDUCE_RECURSIVE_DOUBLING,
 139             SCOLL_ALG_REDUCE_LEGACY_LINEAR,
 140             SCOLL_ALG_REDUCE_LEGACY_LOG);
 141     (void) mca_base_component_var_register(comp,
 142                                            "reduce_alg",
 143                                            help_msg,
 144                                            MCA_BASE_VAR_TYPE_INT, NULL, 0, MCA_BASE_VAR_FLAG_SETTABLE,
 145                                            OPAL_INFO_LVL_9,
 146                                            MCA_BASE_VAR_SCOPE_READONLY,
 147                                            &mca_scoll_basic_param_reduce_algorithm);
 148 
 149     return OSHMEM_SUCCESS;
 150 }
 151 
 152 static int basic_open(void)
 153 {
 154     return OSHMEM_SUCCESS;
 155 }
 156 
 157 static int basic_close(void)
 158 {
 159     return OSHMEM_SUCCESS;
 160 }
 161 
 162 OBJ_CLASS_INSTANCE(mca_scoll_basic_module_t,
 163                    mca_scoll_base_module_t,
 164                    NULL,
 165                    NULL);