Skip to content

Commit 329ea0e

Browse files
author
Burlen Loring
committed
fix MCA variable scope in coll han
Changes several variables scope from READONLY to ALL so that they can be set via MPI_T interface Signed-off-by: Burlen Loring <bloring@nvidia.com>
1 parent 617e89d commit 329ea0e

File tree

1 file changed

+35
-34
lines changed

1 file changed

+35
-34
lines changed

ompi/mca/coll/han/coll_han_component.c

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
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

Comments
 (0)