Skip to content

Commit 70096d3

Browse files
committed
plm/alps: fix orted based launch failures.
Turns out that when one builds Open MPI with --disable-dlopen for Cray, a whole bunch of cray specific libraries get linked in to the orted executable. One of these is Cray PMI. The Cray PMI has a ctor which, if run, causes job launches using mpirun to fail. This commit suppresses the running of the ctor and thus prevents failure to launch. Signed-off-by: Howard Pritchard <[email protected]>
1 parent d184f26 commit 70096d3

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

orte/mca/plm/alps/plm_alps_module.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,17 @@ static void launch_daemons(int fd, short args, void *cbdata)
288288
opal_argv_append(&argc, &argv, "1");
289289
opal_argv_append(&argc, &argv, "-cc");
290290
opal_argv_append(&argc, &argv, "none");
291+
/*
292+
* stuff below is necessary in the event that we've sadly configured Open MPI with --disable-dlopen,
293+
* which results in the orted's being linked against all kinds of unnecessary cray libraries, including
294+
* the cray pmi, which has a ctor that cause bad things if run when using mpirun/orted based launch.
295+
*
296+
* Code below adds env. variables for aprun to forward which suppresses the action of the Cray PMI ctor.
297+
*/
298+
opal_argv_append(&argc, &argv, "-e");
299+
opal_argv_append(&argc, &argv, "PMI_NO_PREINITIALIZE=1");
300+
opal_argv_append(&argc, &argv, "-e");
301+
opal_argv_append(&argc, &argv, "PMI_NO_FORK=1");
291302

292303
/* create nodelist */
293304
nodelist_argv = NULL;

0 commit comments

Comments
 (0)