Merge pull request #2364 from rhc54/topic/static
Since static ports are only used by ORTE if the runtime option is given,
Этот коммит содержится в:
Коммит
d221a3567b
@ -17,6 +17,7 @@ dnl Copyright (c) 2009-2013 Los Alamos National Security, LLC. All rights
|
|||||||
dnl reserved.
|
dnl reserved.
|
||||||
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
||||||
dnl
|
dnl
|
||||||
|
dnl Copyright (c) 2016 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
||||||
@ -53,19 +54,4 @@ AC_DEFINE_UNQUOTED([ORTE_WANT_ORTERUN_PREFIX_BY_DEFAULT],
|
|||||||
[Whether we want orterun to effect "--prefix $prefix" by default])
|
[Whether we want orterun to effect "--prefix $prefix" by default])
|
||||||
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([if want orte static ports])
|
|
||||||
AC_ARG_ENABLE([orte-static-ports],
|
|
||||||
[AC_HELP_STRING([--enable-orte-static-ports],
|
|
||||||
[Enable orte static ports for tcp oob. (default: enabled)])])
|
|
||||||
if test "$enable_orte_static_ports" = "no"; then
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
orte_enable_static_ports=0
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
orte_enable_static_ports=1
|
|
||||||
fi
|
|
||||||
AC_DEFINE_UNQUOTED([ORTE_ENABLE_STATIC_PORTS],
|
|
||||||
[$orte_enable_static_ports],
|
|
||||||
[Whether we want static ports enabled])
|
|
||||||
|
|
||||||
])dnl
|
])dnl
|
||||||
|
@ -493,7 +493,6 @@ int orte_ess_base_orted_setup(char **hosts)
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ORTE_ENABLE_STATIC_PORTS
|
|
||||||
/* if we are using static ports, then we need to setup
|
/* if we are using static ports, then we need to setup
|
||||||
* the daemon info so the RML can function properly
|
* the daemon info so the RML can function properly
|
||||||
* without requiring a wireup stage. This must be done
|
* without requiring a wireup stage. This must be done
|
||||||
@ -501,25 +500,22 @@ int orte_ess_base_orted_setup(char **hosts)
|
|||||||
* own port, which we need in order to construct the nidmap
|
* own port, which we need in order to construct the nidmap
|
||||||
*/
|
*/
|
||||||
if (orte_static_ports) {
|
if (orte_static_ports) {
|
||||||
/* define the routing tree so we know the pattern
|
|
||||||
* if we are trying to setup common or static ports
|
|
||||||
*/
|
|
||||||
orte_routed.update_routing_plan(NULL);
|
|
||||||
/* extract the node info from the environment and
|
/* extract the node info from the environment and
|
||||||
* build a nidmap from it
|
* build a nidmap from it - this will update the
|
||||||
|
* routing plan as well
|
||||||
*/
|
*/
|
||||||
if (ORTE_SUCCESS != (ret = orte_util_build_daemon_nidmap(hosts))) {
|
if (ORTE_SUCCESS != (ret = orte_util_build_daemon_nidmap(hosts))) {
|
||||||
ORTE_ERROR_LOG(ret);
|
ORTE_ERROR_LOG(ret);
|
||||||
error = "construct daemon map from static ports";
|
error = "construct daemon map from static ports";
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
#endif
|
|
||||||
/* be sure to update the routing tree so the initial "phone home"
|
/* be sure to update the routing tree so the initial "phone home"
|
||||||
* to mpirun goes through the tree if static ports were enabled - still
|
* to mpirun goes through the tree if static ports were enabled - still
|
||||||
* need to do it anyway just to initialize things
|
* need to do it anyway just to initialize things
|
||||||
*/
|
*/
|
||||||
orte_routed.update_routing_plan(NULL);
|
orte_routed.update_routing_plan(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/* Now provide a chance for the PLM
|
/* Now provide a chance for the PLM
|
||||||
* to perform any module-specific init functions. This
|
* to perform any module-specific init functions. This
|
||||||
|
@ -195,12 +195,10 @@ static int tcp_component_close(void)
|
|||||||
|
|
||||||
return ORTE_SUCCESS;
|
return ORTE_SUCCESS;
|
||||||
}
|
}
|
||||||
#if ORTE_ENABLE_STATIC_PORTS
|
|
||||||
static char *static_port_string;
|
static char *static_port_string;
|
||||||
#if OPAL_ENABLE_IPV6
|
#if OPAL_ENABLE_IPV6
|
||||||
static char *static_port_string6;
|
static char *static_port_string6;
|
||||||
#endif // OPAL_ENABLE_IPV6
|
#endif // OPAL_ENABLE_IPV6
|
||||||
#endif // OPAL_ENABLE_STATIC_PORTS
|
|
||||||
|
|
||||||
static char *dyn_port_string;
|
static char *dyn_port_string;
|
||||||
#if OPAL_ENABLE_IPV6
|
#if OPAL_ENABLE_IPV6
|
||||||
@ -276,7 +274,6 @@ static int tcp_component_register(void)
|
|||||||
return ORTE_ERR_NOT_AVAILABLE;
|
return ORTE_ERR_NOT_AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ORTE_ENABLE_STATIC_PORTS
|
|
||||||
static_port_string = NULL;
|
static_port_string = NULL;
|
||||||
(void)mca_base_component_var_register(component, "static_ipv4_ports",
|
(void)mca_base_component_var_register(component, "static_ipv4_ports",
|
||||||
"Static ports for daemons and procs (IPv4)",
|
"Static ports for daemons and procs (IPv4)",
|
||||||
@ -322,7 +319,7 @@ static int tcp_component_register(void)
|
|||||||
orte_static_ports = true;
|
orte_static_ports = true;
|
||||||
}
|
}
|
||||||
#endif // OPAL_ENABLE_IPV6
|
#endif // OPAL_ENABLE_IPV6
|
||||||
#endif // OPAL_ENABLE_STATIC_PORTS
|
|
||||||
dyn_port_string = NULL;
|
dyn_port_string = NULL;
|
||||||
(void)mca_base_component_var_register(component, "dynamic_ipv4_ports",
|
(void)mca_base_component_var_register(component, "dynamic_ipv4_ports",
|
||||||
"Range of ports to be dynamically used by daemons and procs (IPv4)",
|
"Range of ports to be dynamically used by daemons and procs (IPv4)",
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2012-2014 Los Alamos National Security, LLC.
|
* Copyright (c) 2012-2014 Los Alamos National Security, LLC.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2013-2015 Intel, Inc. All rights reserved
|
* Copyright (c) 2013-2016 Intel, Inc. All rights reserved.
|
||||||
* Copyright (c) 2014 Research Organization for Information Science
|
* Copyright (c) 2014 Research Organization for Information Science
|
||||||
* and Technology (RIST). All rights reserved.
|
* and Technology (RIST). All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
@ -72,7 +72,6 @@
|
|||||||
|
|
||||||
#include "orte/util/nidmap.h"
|
#include "orte/util/nidmap.h"
|
||||||
|
|
||||||
#if ORTE_ENABLE_STATIC_PORTS
|
|
||||||
int orte_util_build_daemon_nidmap(char **nodes)
|
int orte_util_build_daemon_nidmap(char **nodes)
|
||||||
{
|
{
|
||||||
int i, num_nodes;
|
int i, num_nodes;
|
||||||
@ -184,7 +183,6 @@ int orte_util_build_daemon_nidmap(char **nodes)
|
|||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
int orte_util_encode_nodemap(opal_byte_object_t *boptr, bool update)
|
int orte_util_encode_nodemap(opal_byte_object_t *boptr, bool update)
|
||||||
{
|
{
|
||||||
@ -290,6 +288,7 @@ int orte_util_decode_daemon_nodemap(opal_byte_object_t *bo)
|
|||||||
dptr = OBJ_NEW(orte_proc_t);
|
dptr = OBJ_NEW(orte_proc_t);
|
||||||
dptr->name.jobid = ORTE_PROC_MY_NAME->jobid;
|
dptr->name.jobid = ORTE_PROC_MY_NAME->jobid;
|
||||||
dptr->name.vpid = vpid;
|
dptr->name.vpid = vpid;
|
||||||
|
ORTE_FLAG_SET(dptr, ORTE_PROC_FLAG_ALIVE); // assume the daemon is alive until discovered otherwise
|
||||||
opal_pointer_array_set_item(daemons->procs, vpid, dptr);
|
opal_pointer_array_set_item(daemons->procs, vpid, dptr);
|
||||||
}
|
}
|
||||||
if (NULL != node->daemon) {
|
if (NULL != node->daemon) {
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2014 Intel, Inc. All rights reserved.
|
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -44,9 +44,7 @@ BEGIN_C_DECLS
|
|||||||
ORTE_DECLSPEC int orte_util_encode_nodemap(opal_byte_object_t *boptr, bool update);
|
ORTE_DECLSPEC int orte_util_encode_nodemap(opal_byte_object_t *boptr, bool update);
|
||||||
ORTE_DECLSPEC int orte_util_decode_daemon_nodemap(opal_byte_object_t *bo);
|
ORTE_DECLSPEC int orte_util_decode_daemon_nodemap(opal_byte_object_t *bo);
|
||||||
|
|
||||||
#if ORTE_ENABLE_STATIC_PORTS
|
|
||||||
ORTE_DECLSPEC int orte_util_build_daemon_nidmap(char **nodes);
|
ORTE_DECLSPEC int orte_util_build_daemon_nidmap(char **nodes);
|
||||||
#endif
|
|
||||||
|
|
||||||
END_C_DECLS
|
END_C_DECLS
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user