@@ -73,6 +73,15 @@ static mca_base_var_enum_value_t iexscan_algorithms[] = {
73
73
{0 , NULL }
74
74
};
75
75
76
+ int libnbc_ireduce_algorithm = 0 ; /* ireduce user forced algorithm */
77
+ static mca_base_var_enum_value_t ireduce_algorithms [] = {
78
+ {0 , "ignore" },
79
+ {1 , "chain" },
80
+ {2 , "binomial" },
81
+ {3 , "rabenseifner" },
82
+ {0 , NULL }
83
+ };
84
+
76
85
int libnbc_iscan_algorithm = 0 ; /* iscan user forced algorithm */
77
86
static mca_base_var_enum_value_t iscan_algorithms [] = {
78
87
{0 , "ignore" },
@@ -232,6 +241,16 @@ libnbc_register(void)
232
241
& libnbc_iexscan_algorithm );
233
242
OBJ_RELEASE (new_enum );
234
243
244
+ libnbc_ireduce_algorithm = 0 ;
245
+ (void ) mca_base_var_enum_create ("coll_libnbc_ireduce_algorithms" , ireduce_algorithms , & new_enum );
246
+ mca_base_component_var_register (& mca_coll_libnbc_component .super .collm_version ,
247
+ "ireduce_algorithm" ,
248
+ "Which ireduce algorithm is used: 0 ignore, 1 chain, 2 binomial, 3 rabenseifner" ,
249
+ MCA_BASE_VAR_TYPE_INT , new_enum , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
250
+ OPAL_INFO_LVL_5 , MCA_BASE_VAR_SCOPE_ALL ,
251
+ & libnbc_ireduce_algorithm );
252
+ OBJ_RELEASE (new_enum );
253
+
235
254
libnbc_iscan_algorithm = 0 ;
236
255
(void ) mca_base_var_enum_create ("coll_libnbc_iscan_algorithms" , iscan_algorithms , & new_enum );
237
256
mca_base_component_var_register (& mca_coll_libnbc_component .super .collm_version ,
0 commit comments