Ralph Castain wrote:
I'm sorry, but this change is incorrect.
If you look in orte/mca/ess/base/ess_base_std_orted.c, you will see
that -all- orteds, regardless of how they are launched, open and
select the PLM.
I believe you are mistaken. Look in plm_base_launch_support.c:
/* The daemon will attempt to open the PLM on the remote
* end. Only a few environments allow this, so the daemon
* only opens the PLM -if- it is specifically told to do
* so by giving it a specific PLM module. To ensure we avoid
* confusion, do not include any directives here
*/
if (0 == strcmp(orted_cmd_line[i+1], "plm")) {
continue;
}
That code strips out anything like "-mca plm rsh" from the command
line passed to a remote daemon.
Meanwhile, over in ess_base_std_orted.c:
/* some environments allow remote launches - e.g., ssh - so
* open the PLM and select something -only- if we are given
* a specific module to use
*/
mca_base_param_reg_string_name("plm", NULL,
"Which plm component to use (empty =
none)",
false, false,
NULL, &plm_to_use);
if (NULL == plm_to_use) {
plm_in_use = false;
} else {
plm_in_use = true;
if (ORTE_SUCCESS != (ret = orte_plm_base_open())) {
ORTE_ERROR_LOG(ret);
error = "orte_plm_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_plm_base_select())) {
ORTE_ERROR_LOG(ret);
error = "orte_plm_base_select";
goto error;
}
}
So a PLM is loaded only if specified with "-mca plm foo", but that -mca
flag is stripped out when launching the remote daemon.
I also ran into this issue with tree spawning. (I didn't putback a fix
because
I couldn't get tree spawning actually to improve performance. My fix was
not to strip out the "-mca plm foo" parameters if tree spawning had been
requested.)
Iain