7
7
* Copyright (c) 2023 Computer Architecture and VLSI Systems (CARV)
8
8
* Laboratory, ICS Forth. All rights reserved.
9
9
* Copyright (c) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
10
+ * Copyright (c) 2024 NVIDIA CORPORATION. All rights reserved.
10
11
* $COPYRIGHT$
11
12
*
12
13
* Additional copyrights may follow
@@ -257,9 +258,9 @@ mca_coll_han_query_module_from_mca(mca_base_component_t* c,
257
258
* storage = ompi_coll_han_available_components [mod_id ].component_name ;
258
259
259
260
(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 ,
261
262
info_level ,
262
- MCA_BASE_VAR_SCOPE_READONLY , storage );
263
+ MCA_BASE_VAR_SCOPE_ALL , storage );
263
264
module_name = * storage ;
264
265
mod_id = strtol (module_name , & endptr , 10 );
265
266
if ( module_name == endptr ) { /* no conversion, maybe we got a module name instead */
@@ -288,22 +289,22 @@ static int han_register(void)
288
289
COMPONENT_T component ;
289
290
290
291
(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 ,
292
293
OPAL_INFO_LVL_9 ,
293
- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_priority );
294
+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_priority );
294
295
295
296
cs -> han_output_verbose = 0 ;
296
297
(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 ,
298
299
OPAL_INFO_LVL_9 ,
299
- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_output_verbose );
300
+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_output_verbose );
300
301
301
302
cs -> han_bcast_segsize = 65536 ;
302
303
(void ) mca_base_component_var_register (c , "bcast_segsize" ,
303
304
"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 ,
305
306
OPAL_INFO_LVL_9 ,
306
- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_bcast_segsize );
307
+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_bcast_segsize );
307
308
308
309
cs -> han_bcast_up_module = 0 ;
309
310
(void ) mca_coll_han_query_module_from_mca (c , "bcast_up_module" ,
@@ -321,9 +322,9 @@ static int han_register(void)
321
322
cs -> han_reduce_segsize = 65536 ;
322
323
(void ) mca_base_component_var_register (c , "reduce_segsize" ,
323
324
"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 ,
325
326
OPAL_INFO_LVL_9 ,
326
- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_reduce_segsize );
327
+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_reduce_segsize );
327
328
328
329
cs -> han_reduce_up_module = 0 ;
329
330
(void ) mca_coll_han_query_module_from_mca (c , "reduce_up_module" ,
@@ -340,9 +341,9 @@ static int han_register(void)
340
341
cs -> han_allreduce_segsize = 65536 ;
341
342
(void ) mca_base_component_var_register (c , "allreduce_segsize" ,
342
343
"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 ,
344
345
OPAL_INFO_LVL_9 ,
345
- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_allreduce_segsize );
346
+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_allreduce_segsize );
346
347
347
348
cs -> han_allreduce_up_module = 0 ;
348
349
(void ) mca_coll_han_query_module_from_mca (c , "allreduce_up_module" ,
@@ -424,8 +425,8 @@ static int han_register(void)
424
425
(void ) mca_base_component_var_register (c , "alltoall_pstages" ,
425
426
"Parallel Stages for alltoall. Higher numbers require more memory, "
426
427
"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 ,
429
430
& cs -> han_alltoall_pstages );
430
431
431
432
cs -> han_alltoallv_low_module = 0 ;
@@ -436,38 +437,38 @@ static int han_register(void)
436
437
cs -> han_alltoallv_smsc_avg_send_limit = 8192 ;
437
438
(void ) mca_base_component_var_register (c , "alltoallv_smsc_avg_send_limit" ,
438
439
"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 ,
441
442
& cs -> han_alltoallv_smsc_avg_send_limit );
442
443
cs -> han_alltoallv_smsc_noncontig_activation_limit = 0.10 ;
443
444
(void ) mca_base_component_var_register (c , "alltoallv_smsc_noncontig_limit" ,
444
445
"The fractional (0.00-1.00) limit of peers in the communicator which have "
445
446
"strided or otherwise non-contiguous data buffers. Above this limit "
446
447
"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 ,
449
450
& cs -> han_alltoallv_smsc_noncontig_activation_limit );
450
451
451
452
cs -> han_reproducible = 0 ;
452
453
(void ) mca_base_component_var_register (c , "reproducible" ,
453
454
"whether we need reproducible results "
454
455
"(enabling this disables optimisations using topology)"
455
456
"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 ,
457
458
OPAL_INFO_LVL_3 ,
458
- MCA_BASE_VAR_SCOPE_READONLY , & cs -> han_reproducible );
459
+ MCA_BASE_VAR_SCOPE_ALL , & cs -> han_reproducible );
459
460
460
461
cs -> han_packbuf_bytes = 128 * 1024 ;
461
462
(void ) mca_base_component_var_register (c , "packbuf_bytes" ,
462
463
"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 ,
465
466
& cs -> han_packbuf_bytes );
466
467
cs -> han_packbuf_max_count = 32 ;
467
468
(void ) mca_base_component_var_register (c , "packbuf_max_count" ,
468
469
"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 ,
471
472
& cs -> han_packbuf_max_count );
472
473
473
474
/*
@@ -582,9 +583,9 @@ static int han_register(void)
582
583
}
583
584
584
585
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 ,
586
587
OPAL_INFO_LVL_9 ,
587
- MCA_BASE_VAR_SCOPE_READONLY ,
588
+ MCA_BASE_VAR_SCOPE_ALL ,
588
589
& (cs -> mca_sub_components [coll ][topo_lvl ]));
589
590
}
590
591
}
@@ -594,27 +595,27 @@ static int han_register(void)
594
595
(void ) mca_base_component_var_register (& mca_coll_han_component .super .collm_version ,
595
596
"use_dynamic_file_rules" ,
596
597
"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 ,
598
599
OPAL_INFO_LVL_6 ,
599
- MCA_BASE_VAR_SCOPE_READONLY ,
600
+ MCA_BASE_VAR_SCOPE_ALL ,
600
601
& (cs -> use_dynamic_file_rules ));
601
602
602
603
cs -> dynamic_rules_filename = NULL ;
603
604
(void ) mca_base_component_var_register (& mca_coll_han_component .super .collm_version ,
604
605
"dynamic_rules_filename" ,
605
606
"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 ,
607
608
OPAL_INFO_LVL_6 ,
608
- MCA_BASE_VAR_SCOPE_READONLY ,
609
+ MCA_BASE_VAR_SCOPE_ALL ,
609
610
& (cs -> dynamic_rules_filename ));
610
611
611
612
cs -> dump_dynamic_rules = false;
612
613
(void ) mca_base_component_var_register (& mca_coll_han_component .super .collm_version ,
613
614
"dump_dynamic_rules" ,
614
615
"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 ,
616
617
OPAL_INFO_LVL_6 ,
617
- MCA_BASE_VAR_SCOPE_READONLY ,
618
+ MCA_BASE_VAR_SCOPE_ALL ,
618
619
& (cs -> dump_dynamic_rules ));
619
620
620
621
if ((cs -> dump_dynamic_rules || NULL != cs -> dynamic_rules_filename )
@@ -631,9 +632,9 @@ static int han_register(void)
631
632
"errors printed on rank 0 "
632
633
"with a 0 verbosity."
633
634
"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 ,
635
636
OPAL_INFO_LVL_6 ,
636
- MCA_BASE_VAR_SCOPE_READONLY ,
637
+ MCA_BASE_VAR_SCOPE_ALL ,
637
638
& (cs -> max_dynamic_errors ));
638
639
639
640
0 commit comments