Merge pull request #2290 from rhc54/topic/rmlapp
Open the conduits for application procs
Этот коммит содержится в:
Коммит
3e430caed8
@ -77,6 +77,7 @@ int orte_ess_base_app_setup(bool db_restrict_local)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
char *error = NULL;
|
char *error = NULL;
|
||||||
|
opal_list_t transports;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* stdout/stderr buffering
|
* stdout/stderr buffering
|
||||||
@ -188,6 +189,26 @@ int orte_ess_base_app_setup(bool db_restrict_local)
|
|||||||
error = "orte_routed_base_select";
|
error = "orte_routed_base_select";
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
/* setup the routed info */
|
||||||
|
if (ORTE_SUCCESS != (ret = orte_routed.init_routes(NULL, ORTE_PROC_MY_NAME->jobid, NULL))) {
|
||||||
|
ORTE_ERROR_LOG(ret);
|
||||||
|
error = "orte_routed.init_routes";
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* get a conduit for our use - we never route IO over fabric */
|
||||||
|
OBJ_CONSTRUCT(&transports, opal_list_t);
|
||||||
|
orte_set_attribute(&transports, ORTE_RML_TRANSPORT_TYPE,
|
||||||
|
ORTE_ATTR_LOCAL, orte_mgmt_transport, OPAL_STRING);
|
||||||
|
orte_mgmt_conduit = orte_rml.open_conduit(&transports);
|
||||||
|
OPAL_LIST_DESTRUCT(&transports);
|
||||||
|
|
||||||
|
OBJ_CONSTRUCT(&transports, opal_list_t);
|
||||||
|
orte_set_attribute(&transports, ORTE_RML_TRANSPORT_TYPE,
|
||||||
|
ORTE_ATTR_LOCAL, orte_coll_transport, OPAL_STRING);
|
||||||
|
orte_coll_conduit = orte_rml.open_conduit(&transports);
|
||||||
|
OPAL_LIST_DESTRUCT(&transports);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Group communications
|
* Group communications
|
||||||
*/
|
*/
|
||||||
@ -201,12 +222,7 @@ int orte_ess_base_app_setup(bool db_restrict_local)
|
|||||||
error = "orte_grpcomm_base_select";
|
error = "orte_grpcomm_base_select";
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
/* setup the routed info */
|
|
||||||
if (ORTE_SUCCESS != (ret = orte_routed.init_routes(NULL, ORTE_PROC_MY_NAME->jobid, NULL))) {
|
|
||||||
ORTE_ERROR_LOG(ret);
|
|
||||||
error = "orte_routed.init_routes";
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
#if OPAL_ENABLE_FT_CR == 1
|
#if OPAL_ENABLE_FT_CR == 1
|
||||||
/*
|
/*
|
||||||
* Setup the SnapC
|
* Setup the SnapC
|
||||||
@ -273,6 +289,10 @@ int orte_ess_base_app_finalize(void)
|
|||||||
(void) mca_base_framework_close(&orte_sstore_base_framework);
|
(void) mca_base_framework_close(&orte_sstore_base_framework);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* release the conduits */
|
||||||
|
orte_rml.close_conduit(orte_mgmt_conduit);
|
||||||
|
orte_rml.close_conduit(orte_coll_conduit);
|
||||||
|
|
||||||
/* close frameworks */
|
/* close frameworks */
|
||||||
(void) mca_base_framework_close(&orte_filem_base_framework);
|
(void) mca_base_framework_close(&orte_filem_base_framework);
|
||||||
(void) mca_base_framework_close(&orte_errmgr_base_framework);
|
(void) mca_base_framework_close(&orte_errmgr_base_framework);
|
||||||
|
@ -401,8 +401,6 @@ int orte_ess_base_orted_setup(char **hosts)
|
|||||||
error = "orte_rml_base_select";
|
error = "orte_rml_base_select";
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
/* add our contact info */
|
|
||||||
proc->rml_uri = orte_rml.get_contact_info();
|
|
||||||
|
|
||||||
/* setup the PMIx server */
|
/* setup the PMIx server */
|
||||||
if (ORTE_SUCCESS != (ret = pmix_server_init())) {
|
if (ORTE_SUCCESS != (ret = pmix_server_init())) {
|
||||||
@ -448,7 +446,10 @@ int orte_ess_base_orted_setup(char **hosts)
|
|||||||
orte_coll_conduit = orte_rml.open_conduit(&transports);
|
orte_coll_conduit = orte_rml.open_conduit(&transports);
|
||||||
OPAL_LIST_DESTRUCT(&transports);
|
OPAL_LIST_DESTRUCT(&transports);
|
||||||
|
|
||||||
/*
|
/* add our contact info to our proc object */
|
||||||
|
proc->rml_uri = orte_rml.get_contact_info();
|
||||||
|
|
||||||
|
/*
|
||||||
* Group communications
|
* Group communications
|
||||||
*/
|
*/
|
||||||
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_grpcomm_base_framework, 0))) {
|
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_grpcomm_base_framework, 0))) {
|
||||||
@ -638,7 +639,7 @@ int orte_ess_base_orted_finalize(void)
|
|||||||
pmix_server_finalize();
|
pmix_server_finalize();
|
||||||
(void) mca_base_framework_close(&opal_pmix_base_framework);
|
(void) mca_base_framework_close(&opal_pmix_base_framework);
|
||||||
|
|
||||||
/* release the conduits */
|
/* release the conduits */
|
||||||
orte_rml.close_conduit(orte_mgmt_conduit);
|
orte_rml.close_conduit(orte_mgmt_conduit);
|
||||||
orte_rml.close_conduit(orte_coll_conduit);
|
orte_rml.close_conduit(orte_coll_conduit);
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user