33 * Copyright (c) 2013-2016 Intel, Inc. All rights reserved
44 *
55 * Copyright (c) 2014-2015 Cisco Systems, Inc. All rights reserved.
6- * Copyright (c) 2015 Los Alamos National Security, LLC. All rights
6+ * Copyright (c) 2015-2016 Los Alamos National Security, LLC. All rights
77 * reserved.
88 * $COPYRIGHT$
99 *
@@ -27,6 +27,9 @@ ompi_mtl_ofi_component_init(bool enable_progress_threads,
2727static int param_priority ;
2828static char * prov_include ;
2929static char * prov_exclude ;
30+ static char * control_progress ;
31+ static char * data_progress ;
32+ static char * av_type ;
3033
3134mca_mtl_ofi_component_t mca_mtl_ofi_component = {
3235 {
@@ -82,6 +85,33 @@ ompi_mtl_ofi_component_register(void)
8285 MCA_BASE_VAR_SCOPE_READONLY ,
8386 & prov_exclude );
8487
88+ control_progress = "manual" ;
89+ mca_base_component_var_register (& mca_mtl_ofi_component .super .mtl_version ,
90+ "control_progress" ,
91+ "Specify control progress model (default: manual). Set to auto for auto progress." ,
92+ MCA_BASE_VAR_TYPE_STRING , NULL , 0 , 0 ,
93+ OPAL_INFO_LVL_3 ,
94+ MCA_BASE_VAR_SCOPE_READONLY ,
95+ & control_progress );
96+
97+ data_progress = "auto" ;
98+ mca_base_component_var_register (& mca_mtl_ofi_component .super .mtl_version ,
99+ "data_progress" ,
100+ "Specify data progress model (default: auto). Set to manual for manual progress." ,
101+ MCA_BASE_VAR_TYPE_STRING , NULL , 0 , 0 ,
102+ OPAL_INFO_LVL_3 ,
103+ MCA_BASE_VAR_SCOPE_READONLY ,
104+ & data_progress );
105+
106+ av_type = "map" ;
107+ mca_base_component_var_register (& mca_mtl_ofi_component .super .mtl_version ,
108+ "av_type" ,
109+ "Specify AV type to use (default: map). Set to table for FI_AV_TABLE AV type." ,
110+ MCA_BASE_VAR_TYPE_STRING , NULL , 0 , 0 ,
111+ OPAL_INFO_LVL_3 ,
112+ MCA_BASE_VAR_SCOPE_READONLY ,
113+ & av_type );
114+
85115 return OMPI_SUCCESS ;
86116}
87117
@@ -239,9 +269,25 @@ ompi_mtl_ofi_component_init(bool enable_progress_threads,
239269 hints -> rx_attr -> msg_order = FI_ORDER_SAS ;
240270
241271 hints -> domain_attr -> threading = FI_THREAD_UNSPEC ;
242- hints -> domain_attr -> control_progress = FI_PROGRESS_MANUAL ;
272+
273+ if (0 == strcmp (control_progress ,"auto" )) {
274+ hints -> domain_attr -> control_progress = FI_PROGRESS_AUTO ;
275+ } else {
276+ hints -> domain_attr -> control_progress = FI_PROGRESS_MANUAL ;
277+ }
278+
279+ if (0 == strcmp (data_progress ,"manual" )) {
280+ hints -> domain_attr -> data_progress = FI_PROGRESS_MANUAL ;
281+ } else {
282+ hints -> domain_attr -> data_progress = FI_PROGRESS_AUTO ;
283+ }
284+
243285 hints -> domain_attr -> resource_mgmt = FI_RM_ENABLED ;
244- hints -> domain_attr -> av_type = FI_AV_MAP ;
286+ if (0 == strcmp (av_type , "table" )) {
287+ hints -> domain_attr -> av_type = FI_AV_TABLE ;
288+ } else {
289+ hints -> domain_attr -> av_type = FI_AV_MAP ;
290+ }
245291
246292 /**
247293 * FI_VERSION provides binary backward and forward compatibility support
0 commit comments