5
5
* Copyright (c) 2020 Cisco Systems, Inc. All rights reserved.
6
6
* Copyright (c) 2022 IBM Corporation. All rights reserved
7
7
* Copyright (c) 2023 Jeffrey M. Squyres. All rights reserved.
8
+ * Copyright (c) 2024 NVIDIA CORPORATION. All rights reserved.
8
9
* $COPYRIGHT$
9
10
*
10
11
* Additional copyrights may follow
@@ -38,8 +39,9 @@ int ompi_coll_adapt_ireduce_register(void)
38
39
39
40
mca_coll_adapt_component .adapt_ireduce_algorithm = 1 ;
40
41
mca_base_component_var_register (c , "reduce_algorithm" ,
41
- "Algorithm of reduce, 1: binomial, 2: in_order_binomial, 3: binary, 4: pipeline, 5: chain, 6: linear" , MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
42
- OPAL_INFO_LVL_5 , MCA_BASE_VAR_SCOPE_READONLY ,
42
+ "Algorithm of reduce, 1: binomial, 2: in_order_binomial, 3: binary, 4: pipeline, 5: chain, 6: linear" ,
43
+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
44
+ OPAL_INFO_LVL_5 , MCA_BASE_VAR_SCOPE_ALL ,
43
45
& mca_coll_adapt_component .adapt_ireduce_algorithm );
44
46
if ( (mca_coll_adapt_component .adapt_ireduce_algorithm < 0 ) ||
45
47
(mca_coll_adapt_component .adapt_ireduce_algorithm > OMPI_COLL_ADAPT_ALGORITHM_COUNT ) ) {
@@ -49,58 +51,58 @@ int ompi_coll_adapt_ireduce_register(void)
49
51
mca_coll_adapt_component .adapt_ireduce_segment_size = 163740 ;
50
52
mca_base_component_var_register (c , "reduce_segment_size" ,
51
53
"Segment size in bytes used by default for reduce algorithms. Only has meaning if algorithm is forced and supports segmenting. 0 bytes means no segmentation." ,
52
- MCA_BASE_VAR_TYPE_SIZE_T , NULL , 0 , 0 ,
54
+ MCA_BASE_VAR_TYPE_SIZE_T , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
53
55
OPAL_INFO_LVL_5 ,
54
- MCA_BASE_VAR_SCOPE_READONLY ,
56
+ MCA_BASE_VAR_SCOPE_ALL ,
55
57
& mca_coll_adapt_component .adapt_ireduce_segment_size );
56
58
57
59
mca_coll_adapt_component .adapt_ireduce_max_send_requests = 2 ;
58
60
mca_base_component_var_register (c , "reduce_max_send_requests" ,
59
61
"Maximum number of send requests" ,
60
- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
62
+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
61
63
OPAL_INFO_LVL_5 ,
62
- MCA_BASE_VAR_SCOPE_READONLY ,
64
+ MCA_BASE_VAR_SCOPE_ALL ,
63
65
& mca_coll_adapt_component .adapt_ireduce_max_send_requests );
64
66
65
67
mca_coll_adapt_component .adapt_ireduce_max_recv_requests = 3 ;
66
68
mca_base_component_var_register (c , "reduce_max_recv_requests" ,
67
69
"Maximum number of receive requests per peer" ,
68
- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
70
+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
69
71
OPAL_INFO_LVL_5 ,
70
- MCA_BASE_VAR_SCOPE_READONLY ,
72
+ MCA_BASE_VAR_SCOPE_ALL ,
71
73
& mca_coll_adapt_component .adapt_ireduce_max_recv_requests );
72
74
73
75
mca_coll_adapt_component .adapt_inbuf_free_list_min = 10 ;
74
76
mca_base_component_var_register (c , "inbuf_free_list_min" ,
75
77
"Minimum number of segment in inbuf free list" ,
76
- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
78
+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
77
79
OPAL_INFO_LVL_5 ,
78
- MCA_BASE_VAR_SCOPE_READONLY ,
80
+ MCA_BASE_VAR_SCOPE_ALL ,
79
81
& mca_coll_adapt_component .adapt_inbuf_free_list_min );
80
82
81
83
mca_coll_adapt_component .adapt_inbuf_free_list_max = 10000 ;
82
84
mca_base_component_var_register (c , "inbuf_free_list_max" ,
83
85
"Maximum number of segment in inbuf free list" ,
84
- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
86
+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
85
87
OPAL_INFO_LVL_5 ,
86
- MCA_BASE_VAR_SCOPE_READONLY ,
88
+ MCA_BASE_VAR_SCOPE_ALL ,
87
89
& mca_coll_adapt_component .adapt_inbuf_free_list_max );
88
90
89
91
90
92
mca_coll_adapt_component .adapt_inbuf_free_list_inc = 10 ;
91
93
mca_base_component_var_register (c , "inbuf_free_list_inc" ,
92
94
"Number of segments to allocate when growing the inbuf free list" ,
93
- MCA_BASE_VAR_TYPE_INT , NULL , 0 , 0 ,
95
+ MCA_BASE_VAR_TYPE_INT , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
94
96
OPAL_INFO_LVL_5 ,
95
- MCA_BASE_VAR_SCOPE_READONLY ,
97
+ MCA_BASE_VAR_SCOPE_ALL ,
96
98
& mca_coll_adapt_component .adapt_inbuf_free_list_inc );
97
99
98
100
mca_coll_adapt_component .adapt_ireduce_synchronous_send = true;
99
101
(void ) mca_base_component_var_register (c , "reduce_synchronous_send" ,
100
102
"Whether to use synchronous send operations during setup of reduce operations" ,
101
- MCA_BASE_VAR_TYPE_BOOL , NULL , 0 , 0 ,
103
+ MCA_BASE_VAR_TYPE_BOOL , NULL , 0 , MCA_BASE_VAR_FLAG_SETTABLE ,
102
104
OPAL_INFO_LVL_9 ,
103
- MCA_BASE_VAR_SCOPE_READONLY ,
105
+ MCA_BASE_VAR_SCOPE_ALL ,
104
106
& mca_coll_adapt_component .adapt_ireduce_synchronous_send );
105
107
106
108
mca_coll_adapt_component .adapt_ireduce_context_free_list = NULL ;
0 commit comments