Skip to content

Commit 4225b89

Browse files
author
Ralph Castain
authored
Merge pull request #4556 from rhc54/topic/pspawn
Add a new posix_spawn component to the ODLS framework.
2 parents 5cb72aa + b5bf0a7 commit 4225b89

File tree

11 files changed

+888
-2
lines changed

11 files changed

+888
-2
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@ orte/test/system/orte_sensor
474474
orte/test/system/event-threads
475475
orte/test/system/test-time
476476
orte/test/system/psm_keygen
477+
orte/test/system/pspawn
477478
orte/test/system/regex
478479
orte/test/system/orte_errors
479480
orte/test/system/evthread-test

orte/mca/odls/default/odls_default_component.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
* All rights reserved.
1313
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
1414
* reserved.
15+
* Copyright (c) 2017 Intel, Inc. All rights reserved.
1516
* $COPYRIGHT$
1617
*
1718
* Additional copyrights may follow
@@ -85,7 +86,7 @@ int orte_odls_default_component_query(mca_base_module_t **module, int *priority)
8586
* if we do. Hence, we only get here if we CAN build - in which
8687
* case, we definitely should be considered for selection
8788
*/
88-
*priority = 1; /* let others override us - we are the default */
89+
*priority = 10; /* let others override us - we are the default */
8990
*module = (mca_base_module_t *) &orte_odls_default_module;
9091
return ORTE_SUCCESS;
9192
}

orte/mca/odls/pspawn/Makefile.am

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#
2+
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3+
# University Research and Technology
4+
# Corporation. All rights reserved.
5+
# Copyright (c) 2004-2005 The University of Tennessee and The University
6+
# of Tennessee Research Foundation. All rights
7+
# reserved.
8+
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9+
# University of Stuttgart. All rights reserved.
10+
# Copyright (c) 2004-2005 The Regents of the University of California.
11+
# All rights reserved.
12+
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
13+
# Copyright (c) 2017 IBM Corporation. All rights reserved.
14+
# Copyright (c) 2017 Intel, Inc. All rights reserved.
15+
# $COPYRIGHT$
16+
#
17+
# Additional copyrights may follow
18+
#
19+
# $HEADER$
20+
#
21+
22+
dist_ortedata_DATA = help-orte-odls-pspawn.txt
23+
24+
sources = \
25+
odls_pspawn.h \
26+
odls_pspawn_component.c \
27+
odls_pspawn.c
28+
29+
# Make the output library in this directory, and name it either
30+
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
31+
# (for static builds).
32+
33+
if MCA_BUILD_orte_odls_pspawn_DSO
34+
component_noinst =
35+
component_install = mca_odls_pspawn.la
36+
else
37+
component_noinst = libmca_odls_pspawn.la
38+
component_install =
39+
endif
40+
41+
mcacomponentdir = $(ortelibdir)
42+
mcacomponent_LTLIBRARIES = $(component_install)
43+
mca_odls_pspawn_la_SOURCES = $(sources)
44+
mca_odls_pspawn_la_LDFLAGS = -module -avoid-version
45+
mca_odls_pspawn_la_LIBADD = $(top_builddir)/orte/lib@[email protected]
46+
47+
noinst_LTLIBRARIES = $(component_noinst)
48+
libmca_odls_pspawn_la_SOURCES =$(sources)
49+
libmca_odls_pspawn_la_LDFLAGS = -module -avoid-version

orte/mca/odls/pspawn/configure.m4

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# -*- shell-script -*-
2+
#
3+
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
4+
# University Research and Technology
5+
# Corporation. All rights reserved.
6+
# Copyright (c) 2004-2005 The University of Tennessee and The University
7+
# of Tennessee Research Foundation. All rights
8+
# reserved.
9+
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
10+
# University of Stuttgart. All rights reserved.
11+
# Copyright (c) 2004-2005 The Regents of the University of California.
12+
# All rights reserved.
13+
# Copyright (c) 2011 Los Alamos National Security, LLC.
14+
# All rights reserved.
15+
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
16+
# Copyright (c) 2017 Intel, Inc. All rights reserved.
17+
# $COPYRIGHT$
18+
#
19+
# Additional copyrights may follow
20+
#
21+
# $HEADER$
22+
#
23+
24+
# MCA_odls_pspawn_CONFIG([action-if-found], [action-if-not-found])
25+
# -----------------------------------------------------------
26+
AC_DEFUN([MCA_orte_odls_pspawn_CONFIG],[
27+
AC_CONFIG_FILES([orte/mca/odls/pspawn/Makefile])
28+
29+
AC_CHECK_FUNC([posix_spawn], [odls_pspawn_happy="yes"], [odls_pspawn_happy="no"])
30+
31+
AS_IF([test "$odls_pspawn_happy" = "yes"], [$1], [$2])
32+
33+
])dnl
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
# -*- text -*-
2+
#
3+
# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
4+
# University Research and Technology
5+
# Corporation. All rights reserved.
6+
# Copyright (c) 2004-2005 The University of Tennessee and The University
7+
# of Tennessee Research Foundation. All rights
8+
# reserved.
9+
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
10+
# University of Stuttgart. All rights reserved.
11+
# Copyright (c) 2004-2005 The Regents of the University of California.
12+
# All rights reserved.
13+
# Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
14+
# Copyright (c) 2010-2011 Cisco Systems, Inc. All rights reserved.
15+
# Copyright (c) 2017 Intel, Inc. All rights reserved.
16+
# $COPYRIGHT$
17+
#
18+
# Additional copyrights may follow
19+
#
20+
# $HEADER$
21+
#
22+
# This is a US/English help file.
23+
#
24+
[execve error]
25+
Open MPI tried to fork a new process via the "execve" system call but
26+
failed. Open MPI checks many things before attempting to launch a
27+
child process, but nothing is perfect. This error may be indicative
28+
of another problem on the target host, or even something as silly as
29+
having specified a directory for your application. Your job will now
30+
abort.
31+
32+
Local host: %s
33+
Working dir: %s
34+
Application name: %s
35+
Error: %s
36+
#
37+
[binding not supported]
38+
Open MPI tried to bind a new process, but process binding is not
39+
supported on the host where it was launched. The process was killed
40+
without launching the target application. Your job will now abort.
41+
42+
Local host: %s
43+
Application name: %s
44+
#
45+
[binding generic error]
46+
Open MPI tried to bind a new process, but something went wrong. The
47+
process was killed without launching the target application. Your job
48+
will now abort.
49+
50+
Local host: %s
51+
Application name: %s
52+
Error message: %s
53+
Location: %s:%d
54+
#
55+
[bound to everything]
56+
Open MPI tried to bind a new process to a specific set of processors,
57+
but ended up binding it to *all* processors. This means that the new
58+
process is effectively unbound.
59+
60+
This is only a warning -- your job will continue. You can suppress
61+
this warning in the future by setting the odls_warn_if_not_bound MCA
62+
parameter to 0.
63+
64+
Local host: %s
65+
Application name: %s
66+
Location: %s:%d
67+
#
68+
[slot list and paffinity_alone]
69+
Open MPI detected that both a slot list was specified and the MCA
70+
parameter "paffinity_alone" was set to true. Only one of these can be
71+
used at a time. Your job will now abort.
72+
73+
Local host: %s
74+
Application name: %s
75+
#
76+
[iof setup failed]
77+
Open MPI tried to launch a child process but the "IOF child setup"
78+
failed. This should not happen. Your job will now abort.
79+
80+
Local host: %s
81+
Application name: %s
82+
#
83+
[not bound]
84+
WARNING: Open MPI tried to bind a process but failed. This is a
85+
warning only; your job will continue.
86+
87+
Local host: %s
88+
Application name: %s
89+
Error message: %s
90+
Location: %s:%d
91+
#
92+
[syscall fail]
93+
A system call failed that should not have. In this particular case,
94+
a warning or error message was not displayed that should have been.
95+
Your job may behave unpredictably after this, or abort.
96+
97+
Local host: %s
98+
Application name: %s
99+
Function: %s
100+
Location: %s:%d
101+
#
102+
[memory not bound]
103+
WARNING: Open MPI tried to bind a process but failed. This is a
104+
warning only; your job will continue, though performance may
105+
be degraded.
106+
107+
Local host: %s
108+
Application name: %s
109+
Error message: %s
110+
Location: %s:%d
111+
112+
#
113+
[memory binding error]
114+
Open MPI tried to bind memory for a new process but something went
115+
wrong. The process was killed without launching the target
116+
application. Your job will now abort.
117+
118+
Local host: %s
119+
Application name: %s
120+
Error message: %s
121+
Location: %s:%d
122+
#
123+
[set limit]
124+
Error message received from:
125+
126+
Local host: %s
127+
Application name: %s
128+
Location: %s:%d
129+
130+
Message:
131+
132+
%s
133+
#
134+
[incorrectly-bound]
135+
WARNING: Open MPI incorrectly bound a process to the daemon's cores.
136+
This is a warning only; your job will continue.
137+
138+
Local host: %s
139+
Application name: %s
140+
Location: %s:%d

0 commit comments

Comments
 (0)