Add an option to control which hostnames orte_strip_prefix_from_node_names works
on. This corrects a problem with Cray systems where the login node's hostname was being stripped causing the login node to be used as a compute node by mpirun. cmr=v1.7.3:reviewer=rhc This commit was SVN r28970.
Этот коммит содержится в:
родитель
278522d8e8
Коммит
83a3fc2fd2
@ -80,7 +80,8 @@ orte_tmpdir_base = /var/tmp
|
|||||||
orte_allocation_required = 1
|
orte_allocation_required = 1
|
||||||
|
|
||||||
## Deal with the allocator
|
## Deal with the allocator
|
||||||
plm_base_strip_prefix_from_node_names = 1
|
orte_strip_prefix_from_node_names = 1
|
||||||
|
orte_strip_prefix = nid
|
||||||
orte_retain_aliases = 1
|
orte_retain_aliases = 1
|
||||||
# 1st alias entry is the stripped node name,
|
# 1st alias entry is the stripped node name,
|
||||||
# 2nd is the unstripped one
|
# 2nd is the unstripped one
|
||||||
|
@ -81,6 +81,7 @@ orte_allocation_required = 1
|
|||||||
|
|
||||||
## Deal with the allocator
|
## Deal with the allocator
|
||||||
orte_strip_prefix_from_node_names = 1
|
orte_strip_prefix_from_node_names = 1
|
||||||
|
orte_strip_prefix = nid
|
||||||
orte_retain_aliases = 1
|
orte_retain_aliases = 1
|
||||||
# 1st alias entry is the stripped node name,
|
# 1st alias entry is the stripped node name,
|
||||||
# 2nd is the unstripped one
|
# 2nd is the unstripped one
|
||||||
|
@ -89,6 +89,7 @@ static int orte_ess_node_rank;
|
|||||||
static int orte_peer_modex_id;
|
static int orte_peer_modex_id;
|
||||||
static int orte_peer_init_barrier_id;
|
static int orte_peer_init_barrier_id;
|
||||||
static int orte_peer_fini_barrier_id;
|
static int orte_peer_fini_barrier_id;
|
||||||
|
static char *orte_strip_prefix;
|
||||||
|
|
||||||
int orte_proc_info(void)
|
int orte_proc_info(void)
|
||||||
{
|
{
|
||||||
@ -178,10 +179,18 @@ int orte_proc_info(void)
|
|||||||
MCA_BASE_VAR_SCOPE_READONLY,
|
MCA_BASE_VAR_SCOPE_READONLY,
|
||||||
&orte_process_info.strip_prefix_from_node_names);
|
&orte_process_info.strip_prefix_from_node_names);
|
||||||
|
|
||||||
|
orte_strip_prefix = "";
|
||||||
|
(void) mca_base_var_register ("orte", "orte", NULL, "strip_prefix",
|
||||||
|
"Prefix to match when deciding whether to strip leading characters and zeroes from "
|
||||||
|
"node names returned by daemons (empty = strip all). Does nothing if orte_strip_prefix_from_node_names "
|
||||||
|
"is set to false", MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
|
||||||
|
OPAL_INFO_LVL_9, MCA_BASE_VAR_SCOPE_READONLY,
|
||||||
|
&orte_strip_prefix);
|
||||||
|
|
||||||
/* we have to strip node names here, if user directs, to ensure that
|
/* we have to strip node names here, if user directs, to ensure that
|
||||||
* the names exchanged in the modex match the names found locally
|
* the names exchanged in the modex match the names found locally
|
||||||
*/
|
*/
|
||||||
if (orte_process_info.strip_prefix_from_node_names) {
|
if (orte_process_info.strip_prefix_from_node_names && 0 == strncmp (hostname, orte_strip_prefix, strlen (orte_strip_prefix))) {
|
||||||
/* remove all leading characters and zeroes */
|
/* remove all leading characters and zeroes */
|
||||||
idx = 0;
|
idx = 0;
|
||||||
while (idx < (int)strlen(hostname) &&
|
while (idx < (int)strlen(hostname) &&
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user