77 * Copyright (c) 2023 Computer Architecture and VLSI Systems (CARV)
88 * Laboratory, ICS Forth. All rights reserved.
99 * Copyright (c) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
10+ * Copyright (c) 2024 NVIDIA CORPORATION. All rights reserved.
1011 * $COPYRIGHT$
1112 *
1213 * Additional copyrights may follow
@@ -257,9 +258,9 @@ mca_coll_han_query_module_from_mca(mca_base_component_t* c,
257258 * storage = ompi_coll_han_available_components [mod_id ].component_name ;
258259
259260 (void ) mca_base_component_var_register (c , param_name , param_doc ,
260- MCA_BASE_VAR_TYPE_STRING , NULL , 0 , 0 ,
261+ MCA_BASE_VAR_TYPE_STRING , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
261262 info_level ,
262- MCA_BASE_VAR_SCOPE_READONLY , storage );
263+ MCA_BASE_VAR_SCOPE_ALL , storage );
263264 module_name = * storage ;
264265 mod_id = strtol (module_name , & endptr , 10 );
265266 if ( module_name == endptr ) { /* no conversion, maybe we got a module name instead */
@@ -288,22 +289,22 @@ static int han_register(void)
288289 COMPONENT_T component ;
289290
290291 (void ) mca_base_component_var_register (c , "priority" , "Priority of the HAN coll component" ,
291- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
292+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
292293 OPAL_INFO_LVL_9 ,
293- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_priority );
294+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_priority );
294295
295296 cs -> han_output_verbose = 0 ;
296297 (void ) mca_base_component_var_register (c , "verbose" , "Verbosity of the HAN coll component (use coll base verbosity if not set)" ,
297- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
298+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
298299 OPAL_INFO_LVL_9 ,
299- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_output_verbose );
300+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_output_verbose );
300301
301302 cs -> han_bcast_segsize = 65536 ;
302303 (void ) mca_base_component_var_register (c , "bcast_segsize" ,
303304 "segment size for bcast" ,
304- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
305+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
305306 OPAL_INFO_LVL_9 ,
306- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_bcast_segsize );
307+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_bcast_segsize );
307308
308309 cs -> han_bcast_up_module = 0 ;
309310 (void ) mca_coll_han_query_module_from_mca (c , "bcast_up_module" ,
@@ -321,9 +322,9 @@ static int han_register(void)
321322 cs -> han_reduce_segsize = 65536 ;
322323 (void ) mca_base_component_var_register (c , "reduce_segsize" ,
323324 "segment size for reduce" ,
324- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
325+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
325326 OPAL_INFO_LVL_9 ,
326- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_reduce_segsize );
327+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_reduce_segsize );
327328
328329 cs -> han_reduce_up_module = 0 ;
329330 (void ) mca_coll_han_query_module_from_mca (c , "reduce_up_module" ,
@@ -340,9 +341,9 @@ static int han_register(void)
340341 cs -> han_allreduce_segsize = 65536 ;
341342 (void ) mca_base_component_var_register (c , "allreduce_segsize" ,
342343 "segment size for allreduce" ,
343- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
344+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
344345 OPAL_INFO_LVL_9 ,
345- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_allreduce_segsize );
346+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_allreduce_segsize );
346347
347348 cs -> han_allreduce_up_module = 0 ;
348349 (void ) mca_coll_han_query_module_from_mca (c , "allreduce_up_module" ,
@@ -424,8 +425,8 @@ static int han_register(void)
424425 (void ) mca_base_component_var_register (c , "alltoall_pstages" ,
425426 "Parallel Stages for alltoall. Higher numbers require more memory, "
426427 "and performs more communication in parallel. 0 chooses pstages based on message size." ,
427- MCA_BASE_VAR_TYPE_INT32_T , NULL , 0 , 0 ,
428- OPAL_INFO_LVL_9 , MCA_BASE_VAR_SCOPE_READONLY ,
428+ MCA_BASE_VAR_TYPE_INT32_T , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
429+ OPAL_INFO_LVL_9 , MCA_BASE_VAR_SCOPE_ALL ,
429430 & cs -> han_alltoall_pstages );
430431
431432 cs -> han_alltoallv_low_module = 0 ;
@@ -436,38 +437,38 @@ static int han_register(void)
436437 cs -> han_alltoallv_smsc_avg_send_limit = 8192 ;
437438 (void ) mca_base_component_var_register (c , "alltoallv_smsc_avg_send_limit" ,
438439 "The per-rank averaged send bytes limit above which smsc-based alltoallv will disqualify itself." ,
439- MCA_BASE_VAR_TYPE_INT64_T , NULL , 0 , 0 ,
440- OPAL_INFO_LVL_9 , MCA_BASE_VAR_SCOPE_READONLY ,
440+ MCA_BASE_VAR_TYPE_INT64_T , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
441+ OPAL_INFO_LVL_9 , MCA_BASE_VAR_SCOPE_ALL ,
441442 & cs -> han_alltoallv_smsc_avg_send_limit );
442443 cs -> han_alltoallv_smsc_noncontig_activation_limit = 0.10 ;
443444 (void ) mca_base_component_var_register (c , "alltoallv_smsc_noncontig_limit" ,
444445 "The fractional (0.00-1.00) limit of peers in the communicator which have "
445446 "strided or otherwise non-contiguous data buffers. Above this limit "
446447 "smsc-based alltoallv will ignore the avg_send_limit, and always remain active." ,
447- MCA_BASE_VAR_TYPE_DOUBLE , NULL , 0 , 0 ,
448- OPAL_INFO_LVL_9 , MCA_BASE_VAR_SCOPE_READONLY ,
448+ MCA_BASE_VAR_TYPE_DOUBLE , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
449+ OPAL_INFO_LVL_9 , MCA_BASE_VAR_SCOPE_ALL ,
449450 & cs -> han_alltoallv_smsc_noncontig_activation_limit );
450451
451452 cs -> han_reproducible = 0 ;
452453 (void ) mca_base_component_var_register (c , "reproducible" ,
453454 "whether we need reproducible results "
454455 "(enabling this disables optimisations using topology)"
455456 "0 disable 1 enable, default 0" ,
456- MCA_BASE_VAR_TYPE_BOOL , NULL , 0 , 0 ,
457+ MCA_BASE_VAR_TYPE_BOOL , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
457458 OPAL_INFO_LVL_3 ,
458- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_reproducible );
459+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_reproducible );
459460
460461 cs -> han_packbuf_bytes = 128 * 1024 ;
461462 (void ) mca_base_component_var_register (c , "packbuf_bytes" ,
462463 "The number of bytes in each HAN packbuf." ,
463- MCA_BASE_VAR_TYPE_INT64_T , NULL , 0 , 0 ,
464- OPAL_INFO_LVL_9 , MCA_BASE_VAR_SCOPE_READONLY ,
464+ MCA_BASE_VAR_TYPE_INT64_T , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
465+ OPAL_INFO_LVL_9 , MCA_BASE_VAR_SCOPE_ALL ,
465466 & cs -> han_packbuf_bytes );
466467 cs -> han_packbuf_max_count = 32 ;
467468 (void ) mca_base_component_var_register (c , "packbuf_max_count" ,
468469 "The maximum number of packbufs that are allowed to be allocated." ,
469- MCA_BASE_VAR_TYPE_INT64_T , NULL , 0 , 0 ,
470- OPAL_INFO_LVL_9 , MCA_BASE_VAR_SCOPE_READONLY ,
470+ MCA_BASE_VAR_TYPE_INT64_T , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
471+ OPAL_INFO_LVL_9 , MCA_BASE_VAR_SCOPE_ALL ,
471472 & cs -> han_packbuf_max_count );
472473
473474 /*
@@ -582,9 +583,9 @@ static int han_register(void)
582583 }
583584
584585 mca_base_component_var_register (c , param_name , param_desc ,
585- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
586+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
586587 OPAL_INFO_LVL_9 ,
587- MCA_BASE_VAR_SCOPE_READONLY ,
588+ MCA_BASE_VAR_SCOPE_ALL ,
588589 & (cs -> mca_sub_components [coll ][topo_lvl ]));
589590 }
590591 }
@@ -594,27 +595,27 @@ static int han_register(void)
594595 (void ) mca_base_component_var_register (& mca_coll_han_component .super .collm_version ,
595596 "use_dynamic_file_rules" ,
596597 "Enable the dynamic selection provided via the dynamic_rules_filename MCA" ,
597- MCA_BASE_VAR_TYPE_BOOL , NULL , 0 , 0 ,
598+ MCA_BASE_VAR_TYPE_BOOL , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
598599 OPAL_INFO_LVL_6 ,
599- MCA_BASE_VAR_SCOPE_READONLY ,
600+ MCA_BASE_VAR_SCOPE_ALL ,
600601 & (cs -> use_dynamic_file_rules ));
601602
602603 cs -> dynamic_rules_filename = NULL ;
603604 (void ) mca_base_component_var_register (& mca_coll_han_component .super .collm_version ,
604605 "dynamic_rules_filename" ,
605606 "Configuration file containing the dynamic selection rules" ,
606- MCA_BASE_VAR_TYPE_STRING , NULL , 0 , 0 ,
607+ MCA_BASE_VAR_TYPE_STRING , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
607608 OPAL_INFO_LVL_6 ,
608- MCA_BASE_VAR_SCOPE_READONLY ,
609+ MCA_BASE_VAR_SCOPE_ALL ,
609610 & (cs -> dynamic_rules_filename ));
610611
611612 cs -> dump_dynamic_rules = false;
612613 (void ) mca_base_component_var_register (& mca_coll_han_component .super .collm_version ,
613614 "dump_dynamic_rules" ,
614615 "Switch used to decide if we dump dynamic rules provided by configuration file" ,
615- MCA_BASE_VAR_TYPE_BOOL , NULL , 0 , 0 ,
616+ MCA_BASE_VAR_TYPE_BOOL , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
616617 OPAL_INFO_LVL_6 ,
617- MCA_BASE_VAR_SCOPE_READONLY ,
618+ MCA_BASE_VAR_SCOPE_ALL ,
618619 & (cs -> dump_dynamic_rules ));
619620
620621 if ((cs -> dump_dynamic_rules || NULL != cs -> dynamic_rules_filename )
@@ -631,9 +632,9 @@ static int han_register(void)
631632 "errors printed on rank 0 "
632633 "with a 0 verbosity."
633634 "Useless if coll_base_verbose is 30 or more." ,
634- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
635+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
635636 OPAL_INFO_LVL_6 ,
636- MCA_BASE_VAR_SCOPE_READONLY ,
637+ MCA_BASE_VAR_SCOPE_ALL ,
637638 & (cs -> max_dynamic_errors ));
638639
639640
0 commit comments