Merge pull request #1871 from hppritcha/topic/ofi_mtl_params
mtl/ofi: add some more mca parameters
Этот коммит содержится в:
Коммит
5ff6b81eee
@ -3,7 +3,7 @@
|
||||
* Copyright (c) 2013-2016 Intel, Inc. All rights reserved
|
||||
*
|
||||
* Copyright (c) 2014-2015 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
|
||||
* Copyright (c) 2015-2016 Los Alamos National Security, LLC. All rights
|
||||
* reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
@ -27,6 +27,43 @@ ompi_mtl_ofi_component_init(bool enable_progress_threads,
|
||||
static int param_priority;
|
||||
static char *prov_include;
|
||||
static char *prov_exclude;
|
||||
static int control_progress;
|
||||
static int data_progress;
|
||||
static int av_type;
|
||||
|
||||
/*
|
||||
* Enumerators
|
||||
*/
|
||||
|
||||
enum {
|
||||
MTL_OFI_PROG_AUTO=1,
|
||||
MTL_OFI_PROG_MANUAL,
|
||||
MTL_OFI_PROG_UNKNOWN,
|
||||
};
|
||||
|
||||
mca_base_var_enum_value_t control_prog_type[] = {
|
||||
{MTL_OFI_PROG_AUTO, "auto"},
|
||||
{MTL_OFI_PROG_MANUAL, "manual"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
mca_base_var_enum_value_t data_prog_type[] = {
|
||||
{MTL_OFI_PROG_AUTO, "auto"},
|
||||
{MTL_OFI_PROG_MANUAL, "manual"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
enum {
|
||||
MTL_OFI_AV_MAP=1,
|
||||
MTL_OFI_AV_TABLE,
|
||||
MTL_OFI_AV_UNKNOWN,
|
||||
};
|
||||
|
||||
mca_base_var_enum_value_t av_table_type[] = {
|
||||
{MTL_OFI_AV_MAP, "map"},
|
||||
{MTL_OFI_AV_TABLE, "table"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
mca_mtl_ofi_component_t mca_mtl_ofi_component = {
|
||||
{
|
||||
@ -56,6 +93,9 @@ mca_mtl_ofi_component_t mca_mtl_ofi_component = {
|
||||
static int
|
||||
ompi_mtl_ofi_component_register(void)
|
||||
{
|
||||
int ret;
|
||||
mca_base_var_enum_t *new_enum = NULL;
|
||||
|
||||
param_priority = 25; /* for now give a lower priority than the psm mtl */
|
||||
mca_base_component_var_register(&mca_mtl_ofi_component.super.mtl_version,
|
||||
"priority", "Priority of the OFI MTL component",
|
||||
@ -82,6 +122,51 @@ ompi_mtl_ofi_component_register(void)
|
||||
MCA_BASE_VAR_SCOPE_READONLY,
|
||||
&prov_exclude);
|
||||
|
||||
ret = mca_base_var_enum_create ("control_prog_type", control_prog_type, &new_enum);
|
||||
if (OPAL_SUCCESS != ret) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
control_progress = MTL_OFI_PROG_MANUAL;
|
||||
mca_base_component_var_register (&mca_mtl_ofi_component.super.mtl_version,
|
||||
"control_progress",
|
||||
"Specify control progress model (default: manual). Set to auto for auto progress.",
|
||||
MCA_BASE_VAR_TYPE_INT, new_enum, 0, 0,
|
||||
OPAL_INFO_LVL_3,
|
||||
MCA_BASE_VAR_SCOPE_READONLY,
|
||||
&control_progress);
|
||||
OBJ_RELEASE(new_enum);
|
||||
|
||||
ret = mca_base_var_enum_create ("data_prog_type", data_prog_type, &new_enum);
|
||||
if (OPAL_SUCCESS != ret) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
data_progress = MTL_OFI_PROG_AUTO;
|
||||
mca_base_component_var_register(&mca_mtl_ofi_component.super.mtl_version,
|
||||
"data_progress",
|
||||
"Specify data progress model (default: auto). Set to manual for manual progress.",
|
||||
MCA_BASE_VAR_TYPE_INT, new_enum, 0, 0,
|
||||
OPAL_INFO_LVL_3,
|
||||
MCA_BASE_VAR_SCOPE_READONLY,
|
||||
&data_progress);
|
||||
OBJ_RELEASE(new_enum);
|
||||
|
||||
ret = mca_base_var_enum_create ("av_type", av_table_type, &new_enum);
|
||||
if (OPAL_SUCCESS != ret) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
av_type = MTL_OFI_AV_MAP;
|
||||
mca_base_component_var_register (&mca_mtl_ofi_component.super.mtl_version,
|
||||
"av",
|
||||
"Specify AV type to use (default: map). Set to table for FI_AV_TABLE AV type.",
|
||||
MCA_BASE_VAR_TYPE_INT, new_enum, 0, 0,
|
||||
OPAL_INFO_LVL_3,
|
||||
MCA_BASE_VAR_SCOPE_READONLY,
|
||||
&av_type);
|
||||
OBJ_RELEASE(new_enum);
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
@ -239,9 +324,26 @@ ompi_mtl_ofi_component_init(bool enable_progress_threads,
|
||||
hints->rx_attr->msg_order = FI_ORDER_SAS;
|
||||
|
||||
hints->domain_attr->threading = FI_THREAD_UNSPEC;
|
||||
hints->domain_attr->control_progress = FI_PROGRESS_MANUAL;
|
||||
|
||||
if (MTL_OFI_PROG_AUTO == control_progress) {
|
||||
hints->domain_attr->control_progress = FI_PROGRESS_AUTO;
|
||||
} else {
|
||||
hints->domain_attr->control_progress = FI_PROGRESS_MANUAL;
|
||||
}
|
||||
|
||||
if (MTL_OFI_PROG_MANUAL == data_progress) {
|
||||
hints->domain_attr->data_progress = FI_PROGRESS_MANUAL;
|
||||
} else {
|
||||
hints->domain_attr->data_progress = FI_PROGRESS_AUTO;
|
||||
}
|
||||
|
||||
if (MTL_OFI_AV_TABLE == av_type) {
|
||||
hints->domain_attr->av_type = FI_AV_TABLE;
|
||||
} else {
|
||||
hints->domain_attr->av_type = FI_AV_MAP;
|
||||
}
|
||||
|
||||
hints->domain_attr->resource_mgmt = FI_RM_ENABLED;
|
||||
hints->domain_attr->av_type = FI_AV_MAP;
|
||||
|
||||
/**
|
||||
* FI_VERSION provides binary backward and forward compatibility support
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user