1
1

MCA/COMMON/UCX: added synonim to opal_mem_hook variable

- added synonim to opal_mem_hook variable to allow
  to print it in opal_info -a

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
Этот коммит содержится в:
Sergey Oblomov 2018-08-21 15:05:12 +03:00
родитель fc9218dd01
Коммит e00f7a68ba
4 изменённых файлов: 35 добавлений и 17 удалений

Просмотреть файл

@ -64,6 +64,7 @@ static int mca_pml_ucx_component_register(void)
OPAL_INFO_LVL_3,
MCA_BASE_VAR_SCOPE_LOCAL,
&ompi_pml_ucx.num_disconnect);
opal_common_ucx_mca_var_register(&mca_pml_ucx_component.pmlm_version);
return 0;
}

Просмотреть файл

@ -34,6 +34,37 @@ static void opal_common_ucx_mem_release_cb(void *buf, size_t length,
ucm_vm_munmap(buf, length);
}
OPAL_DECLSPEC void opal_common_ucx_mca_var_register(const mca_base_component_t *component)
{
static int registered = 0;
static int hook_index;
if (!registered) {
mca_base_var_register("opal", "ucx", "*", "verbose",
"Verbose level of the UCX components",
MCA_BASE_VAR_TYPE_INT, NULL, 0, MCA_BASE_VAR_FLAG_SETTABLE,
OPAL_INFO_LVL_3, MCA_BASE_VAR_SCOPE_LOCAL,
&opal_common_ucx.verbose);
mca_base_var_register("opal", "opal_common", "ucx", "progress_iterations",
"Set number of calls of internal UCX progress calls per opal_progress call",
MCA_BASE_VAR_TYPE_INT, NULL, 0, MCA_BASE_VAR_FLAG_SETTABLE,
OPAL_INFO_LVL_3, MCA_BASE_VAR_SCOPE_LOCAL,
&opal_common_ucx.progress_iterations);
hook_index = mca_base_var_register("opal", "opal_common", "ucx", "opal_mem_hooks",
"Use OPAL memory hooks, instead of UCX internal memory hooks",
MCA_BASE_VAR_TYPE_BOOL, NULL, 0, 0,
OPAL_INFO_LVL_3,
MCA_BASE_VAR_SCOPE_LOCAL,
&opal_common_ucx.opal_mem_hooks);
registered = 1;
}
if (component) {
mca_base_var_register_synonym(hook_index, component->mca_project_name,
component->mca_type_name,
component->mca_component_name,
"opal_mem_hooks", 0);
}
}
OPAL_DECLSPEC void opal_common_ucx_mca_register(void)
{
opal_common_ucx.registered++;
@ -42,23 +73,6 @@ OPAL_DECLSPEC void opal_common_ucx_mca_register(void)
return;
}
mca_base_var_register("opal", "opal_common", "ucx", "verbose",
"Verbose level of the UCX components",
MCA_BASE_VAR_TYPE_INT, NULL, 0, MCA_BASE_VAR_FLAG_SETTABLE,
OPAL_INFO_LVL_9, MCA_BASE_VAR_SCOPE_LOCAL,
&opal_common_ucx.verbose);
mca_base_var_register("opal", "opal_common", "ucx", "progress_iterations",
"Set number of calls of internal UCX progress calls per opal_progress call",
MCA_BASE_VAR_TYPE_INT, NULL, 0, MCA_BASE_VAR_FLAG_SETTABLE,
OPAL_INFO_LVL_9, MCA_BASE_VAR_SCOPE_LOCAL,
&opal_common_ucx.progress_iterations);
mca_base_var_register("opal", "opal_common", "ucx", "opal_mem_hooks",
"Use OPAL memory hooks, instead of UCX internal memory hooks",
MCA_BASE_VAR_TYPE_BOOL, NULL, 0, 0,
OPAL_INFO_LVL_3,
MCA_BASE_VAR_SCOPE_LOCAL,
&opal_common_ucx.opal_mem_hooks);
opal_common_ucx.output = opal_output_open(NULL);
opal_output_set_verbosity(opal_common_ucx.output, opal_common_ucx.verbose);

Просмотреть файл

@ -73,6 +73,7 @@ OPAL_DECLSPEC void opal_common_ucx_empty_complete_cb(void *request, ucs_status_t
OPAL_DECLSPEC int opal_common_ucx_mca_pmix_fence(ucp_worker_h worker);
OPAL_DECLSPEC int opal_common_ucx_del_procs(opal_common_ucx_del_proc_t *procs, size_t count,
size_t my_rank, size_t max_disconnect, ucp_worker_h worker);
OPAL_DECLSPEC void opal_common_ucx_mca_var_register(const mca_base_component_t *component);
static inline
int opal_common_ucx_wait_request(ucs_status_ptr_t request, ucp_worker_h worker,

Просмотреть файл

@ -104,6 +104,8 @@ static int mca_spml_ucx_component_register(void)
"Use non-blocking memory registration for shared heap",
&mca_spml_ucx.heap_reg_nb);
opal_common_ucx_mca_var_register(&mca_spml_ucx_component.spmlm_version);
return OSHMEM_SUCCESS;
}