@@ -73,6 +73,15 @@ static mca_base_var_enum_value_t iexscan_algorithms[] = {
7373 {0 , NULL }
7474};
7575
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+
7685int libnbc_iscan_algorithm = 0 ; /* iscan user forced algorithm */
7786static mca_base_var_enum_value_t iscan_algorithms [] = {
7887 {0 , "ignore" },
@@ -232,6 +241,16 @@ libnbc_register(void)
232241 & libnbc_iexscan_algorithm );
233242 OBJ_RELEASE (new_enum );
234243
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+
235254 libnbc_iscan_algorithm = 0 ;
236255 (void ) mca_base_var_enum_create ("coll_libnbc_iscan_algorithms" , iscan_algorithms , & new_enum );
237256 mca_base_component_var_register (& mca_coll_libnbc_component .super .collm_version ,
0 commit comments