1
1

Update orte-submit manpage, add the ompi-* versions of orte-dvm and orte-submit manpages

Этот коммит содержится в:
Ralph Castain 2015-02-01 15:46:40 -08:00
родитель e303a9b1d6
Коммит 4dba298e6e
3 изменённых файлов: 133 добавлений и 194 удалений

2
.gitignore поставляемый
Просмотреть файл

@ -478,6 +478,7 @@ orte/tools/orte-clean/orte-clean
orte/tools/orte-clean/orte-clean.1 orte/tools/orte-clean/orte-clean.1
orte/tools/orte-dvm/orte-dvm orte/tools/orte-dvm/orte-dvm
orte/tools/orte-dvm/orte-dvm.1 orte/tools/orte-dvm/orte-dvm.1
ompi/mca/rte/orte/ompi-dvm.1
orte/tools/orte-info/orte-info orte/tools/orte-info/orte-info
orte/tools/orte-info/orte-info.1 orte/tools/orte-info/orte-info.1
orte/tools/orte-migrate/orte-migrate orte/tools/orte-migrate/orte-migrate
@ -492,6 +493,7 @@ orte/tools/orte-server/orte-server
orte/tools/orte-server/orte-server.1 orte/tools/orte-server/orte-server.1
orte/tools/orte-submit/orte-submit orte/tools/orte-submit/orte-submit
orte/tools/orte-submit/orte-submit.1 orte/tools/orte-submit/orte-submit.1
ompi/mca/rte/orte/ompi-submit.1
orte/tools/orte-top/orte-top orte/tools/orte-top/orte-top
orte/tools/orte-top/orte-top.1 orte/tools/orte-top/orte-top.1
orte/tools/orted/orted orte/tools/orted/orted

Просмотреть файл

@ -27,7 +27,7 @@ libmca_rte_orte_la_SOURCES =$(sources) $(headers)
libmca_rte_orte_la_LDFLAGS = -module -avoid-version libmca_rte_orte_la_LDFLAGS = -module -avoid-version
libmca_rte_orte_la_LIBADD = $(top_builddir)/orte/lib@ORTE_LIB_PREFIX@open-rte.la libmca_rte_orte_la_LIBADD = $(top_builddir)/orte/lib@ORTE_LIB_PREFIX@open-rte.la
man_pages = mpirun.1 mpiexec.1 ompi-ps.1 ompi-clean.1 ompi-top.1 ompi-server.1 man_pages = mpirun.1 mpiexec.1 ompi-ps.1 ompi-clean.1 ompi-top.1 ompi-server.1 ompi-dvm.1 ompi-submit.1
if WANT_FT if WANT_FT
man_pages += ompi-checkpoint.1 ompi-restart.1 man_pages += ompi-checkpoint.1 ompi-restart.1
@ -43,6 +43,8 @@ install-exec-hook:
(cd $(DESTDIR)$(bindir); rm -f ompi-clean$(EXEEXT); $(LN_S) orte-clean$(EXEEXT) ompi-clean$(EXEEXT)) (cd $(DESTDIR)$(bindir); rm -f ompi-clean$(EXEEXT); $(LN_S) orte-clean$(EXEEXT) ompi-clean$(EXEEXT))
(cd $(DESTDIR)$(bindir); rm -f ompi-top$(EXEEXT); $(LN_S) orte-top$(EXEEXT) ompi-top$(EXEEXT)) (cd $(DESTDIR)$(bindir); rm -f ompi-top$(EXEEXT); $(LN_S) orte-top$(EXEEXT) ompi-top$(EXEEXT))
(cd $(DESTDIR)$(bindir); rm -f ompi-server$(EXEEXT); $(LN_S) orte-server$(EXEEXT) ompi-server$(EXEEXT)) (cd $(DESTDIR)$(bindir); rm -f ompi-server$(EXEEXT); $(LN_S) orte-server$(EXEEXT) ompi-server$(EXEEXT))
(cd $(DESTDIR)$(bindir); rm -f ompi-dvm$(EXEEXT); $(LN_S) orte-dvm$(EXEEXT) ompi-dvm$(EXEEXT))
(cd $(DESTDIR)$(bindir); rm -f ompi-submit$(EXEEXT); $(LN_S) orte-submit$(EXEEXT) ompi-submit$(EXEEXT))
if WANT_FT if WANT_FT
(cd $(DESTDIR)$(bindir); rm -f ompi-checkpoint$(EXEEXT); $(LN_S) orte-checkpoint$(EXEEXT) ompi-checkpoint$(EXEEXT)) (cd $(DESTDIR)$(bindir); rm -f ompi-checkpoint$(EXEEXT); $(LN_S) orte-checkpoint$(EXEEXT) ompi-checkpoint$(EXEEXT))
(cd $(DESTDIR)$(bindir); rm -f ompi-restart$(EXEEXT); $(LN_S) orte-restart$(EXEEXT) ompi-restart$(EXEEXT)) (cd $(DESTDIR)$(bindir); rm -f ompi-restart$(EXEEXT); $(LN_S) orte-restart$(EXEEXT) ompi-restart$(EXEEXT))
@ -55,7 +57,9 @@ uninstall-local:
$(DESTDIR)$(bindir)/ompi-ps$(EXEEXT) \ $(DESTDIR)$(bindir)/ompi-ps$(EXEEXT) \
$(DESTDIR)$(bindir)/ompi-clean$(EXEEXT) \ $(DESTDIR)$(bindir)/ompi-clean$(EXEEXT) \
$(DESTDIR)$(bindir)/ompi-top$(EXEEXT) \ $(DESTDIR)$(bindir)/ompi-top$(EXEEXT) \
$(DESTDIR)$(bindir)/ompi-server$(EXEEXT) $(DESTDIR)$(bindir)/ompi-server$(EXEEXT) \
$(DESTDIR)$(bindir)/ompi-dvm$(EXEEXT) \
$(DESTDIR)$(bindir)/ompi-submit$(EXEEXT)
if WANT_FT if WANT_FT
rm -f $(DESTDIR)$(bindir)/ompi-checkpoint$(EXEEXT) \ rm -f $(DESTDIR)$(bindir)/ompi-checkpoint$(EXEEXT) \
$(DESTDIR)$(bindir)/ompi-restart$(EXEEXT) \ $(DESTDIR)$(bindir)/ompi-restart$(EXEEXT) \
@ -115,5 +119,11 @@ $(top_builddir)/orte/tools/orte-server/orte-server.1:
ompi-server.1: $(top_builddir)/orte/tools/orte-server/orte-server.1 ompi-server.1: $(top_builddir)/orte/tools/orte-server/orte-server.1
cp -f $(top_builddir)/orte/tools/orte-server/orte-server.1 ompi-server.1 cp -f $(top_builddir)/orte/tools/orte-server/orte-server.1 ompi-server.1
ompi-dvm.1: $(top_builddir)/orte/tools/orte-dvm/orte-dvm.1
cp -f $(top_builddir)/orte/tools/orte-dvm/orte-dvm.1 ompi-dvm.1
ompi-submit.1: $(top_builddir)/orte/tools/orte-submit/orte-submit.1
cp -f $(top_builddir)/orte/tools/orte-submit/orte-submit.1 ompi-submit.1
clean-local: clean-local:
rm -f $(man_pages) rm -f $(man_pages)

Просмотреть файл

@ -1,22 +1,23 @@
.\" -*- nroff -*- .\" -*- nroff -*-
.\" Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved.
.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. .\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved.
.\” Copyright (c) 2015 Intel, Inc. All rights reserved.
.\" $COPYRIGHT$ .\" $COPYRIGHT$
.\" .\"
.\" Man page for ORTE's orterun command .\" Man page for ORTE's orte-submit command
.\" .\"
.\" .TH name section center-footer left-footer center-header .\" .TH name section center-footer left-footer center-header
.TH MPIRUN 1 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .TH ORTE-SUBMIT 1 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.\" ************************** .\" **************************
.\" Name Section .\" Name Section
.\" ************************** .\" **************************
.SH NAME .SH NAME
. .
orterun, mpirun, mpiexec \- Execute serial and parallel jobs in Open MPI. orte-submit, ompi-submit \- Execute serial and parallel jobs in Open MPI using a DVM.
.B Note: .B Note:
\fImpirun\fP, \fImpiexec\fP, and \fIorterun\fP are all synonyms for each \fIompi-submit\fP and \fIorte-submit\fP are synonyms for each
other. Using any of the names will produce the same behavior. other. Using either of the names will produce the same behavior.
. .
.\" ************************** .\" **************************
.\" Synopsis Section .\" Synopsis Section
@ -26,7 +27,7 @@ other. Using any of the names will produce the same behavior.
.PP .PP
Single Process Multiple Data (SPMD) Model: Single Process Multiple Data (SPMD) Model:
.B mpirun .B ompi-submit
[ options ] [ options ]
.B <program> .B <program>
[ <args> ] [ <args> ]
@ -34,7 +35,7 @@ Single Process Multiple Data (SPMD) Model:
Multiple Instruction Multiple Data (MIMD) Model: Multiple Instruction Multiple Data (MIMD) Model:
.B mpirun .B ompi-submit
[ global_options ] [ global_options ]
[ local_options1 ] [ local_options1 ]
.B <program1> .B <program1>
@ -48,16 +49,16 @@ Multiple Instruction Multiple Data (MIMD) Model:
[ <argsN> ] [ <argsN> ]
.P .P
Note that in both models, invoking \fImpirun\fP via an absolute path Note that in both models, invoking \fIompi-submit\fP via an absolute path
name is equivalent to specifying the \fI--prefix\fP option with a name is equivalent to specifying the \fI--prefix\fP option with a
\fI<dir>\fR value equivalent to the directory where \fImpirun\fR \fI<dir>\fR value equivalent to the directory where \fIompi-submit\fR
resides, minus its last subdirectory. For example: resides, minus its last subdirectory. For example:
\fB%\fP /usr/local/bin/mpirun ... \fB%\fP /usr/local/bin/ompi-submit ...
is equivalent to is equivalent to
\fB%\fP mpirun --prefix /usr/local \fB%\fP ompi-submit --prefix /usr/local
. .
.\" ************************** .\" **************************
@ -65,20 +66,24 @@ is equivalent to
.\" ************************** .\" **************************
.SH QUICK SUMMARY .SH QUICK SUMMARY
. .
.B
Use of \fIorte-submit\fP requires that you first start the Distributed Virtual
Machine (DVM) using \fIorte-dvm\fP.
.P
If you are simply looking for how to run an MPI application, you If you are simply looking for how to run an MPI application, you
probably want to use a command line of the following form: probably want to use a command line of the following form:
\fB%\fP mpirun [ -np X ] [ --hostfile <filename> ] <program> \fB%\fP ompi-submit [ -np X ] [ --hostfile <filename> ] <program>
This will run X copies of \fI<program>\fR in your current run-time This will run X copies of \fI<program>\fR in your current run-time
environment (if running under a supported resource manager, Open MPI's environment (if running under a supported resource manager, Open MPI's
\fImpirun\fR will usually automatically use the corresponding resource manager \fIompi-submit\fR will usually automatically use the corresponding resource manager
process starter, as opposed to, for example, \fIrsh\fR or \fIssh\fR, process starter, as opposed to, for example, \fIrsh\fR or \fIssh\fR,
which require the use of a hostfile, or will default to running all X which require the use of a hostfile, or will default to running all X
copies on the localhost), scheduling (by default) in a round-robin fashion by copies on the localhost), scheduling (by default) in a round-robin fashion by
CPU slot. See the rest of this page for more details. CPU slot. See the rest of this page for more details.
.P .P
Please note that mpirun automatically binds processes as of the start of the Please note that ompi-submit automatically binds processes as of the start of the
v1.8 series. Two binding patterns are used in the absence of any further directives: v1.8 series. Two binding patterns are used in the absence of any further directives:
.TP 18 .TP 18
.B Bind to core: .B Bind to core:
@ -101,7 +106,7 @@ application process.
.\" ************************** .\" **************************
.SH OPTIONS .SH OPTIONS
. .
.I mpirun .I ompi-submit
will send the name of the directory where it was invoked on the local will send the name of the directory where it was invoked on the local
node to each of the remote nodes, and attempt to change to that node to each of the remote nodes, and attempt to change to that
directory. See the "Current Working Directory" section below for further directory. See the "Current Working Directory" section below for further
@ -112,13 +117,13 @@ details.
.TP 10 .TP 10
.B <program> .B <program>
The program executable. This is identified as the first non-recognized argument The program executable. This is identified as the first non-recognized argument
to mpirun. to ompi-submit.
. .
. .
.TP .TP
.B <args> .B <args>
Pass these run-time arguments to every new process. These must always Pass these run-time arguments to every new process. These must always
be the last arguments to \fImpirun\fP. If an app context file is used, be the last arguments to \fIompi-submit\fP. If an app context file is used,
\fI<args>\fP will be ignored. \fI<args>\fP will be ignored.
. .
. .
@ -129,7 +134,7 @@ Display help for this command
. .
.TP .TP
.B -q\fR,\fP --quiet .B -q\fR,\fP --quiet
Suppress informative messages from orterun during application execution. Suppress informative messages from orte-submit during application execution.
. .
. .
.TP .TP
@ -140,20 +145,14 @@ Be verbose
.TP .TP
.B -V\fR,\fP --version .B -V\fR,\fP --version
Print version number. If no other arguments are given, this will also Print version number. If no other arguments are given, this will also
cause orterun to exit. cause orte-submit to exit.
. .
. .
. .
. .
.P .P
Use one of the following options to specify which hosts (nodes) of the cluster to run on. Note Use one of the following options to specify which hosts (nodes) of the DVM to run on.
that as of the start of the v1.8 release, mpirun will launch a daemon onto each host in the Specifying hosts outside the DVM will result in an error.
allocation (as modified by the following options) at the very beginning of execution, regardless
of whether or not application processes will eventually be mapped to execute there. This is
done to allow collection of hardware topology information from the remote nodes, thus allowing
us to map processes against known topology. However, it is a change from the behavior in prior releases
where daemons were only launched \fRafter\fP mapping was complete, and thus only occurred on
nodes where application processes would actually be executing.
. .
. .
.TP .TP
@ -247,7 +246,7 @@ Map processes by socket (deprecated in favor of --map-by socket)
.TP .TP
.B -nolocal\fR,\fP --nolocal .B -nolocal\fR,\fP --nolocal
Do not run any copies of the launched application on the same node as Do not run any copies of the launched application on the same node as
orterun is running. This option will override listing the localhost orte-submit is running. This option will override listing the localhost
with \fB--host\fR or any other host-specifying mechanism. with \fB--host\fR or any other host-specifying mechanism.
. .
.TP .TP
@ -386,7 +385,7 @@ Each xterm window will subsequently need to be manually closed.
In some environments, xterm may require that the executable be in the user's In some environments, xterm may require that the executable be in the user's
path, or be specified in absolute or relative terms. Thus, it may be necessary path, or be specified in absolute or relative terms. Thus, it may be necessary
to specify a local executable as "./foo" instead of just "foo". If xterm fails to to specify a local executable as "./foo" instead of just "foo". If xterm fails to
find the executable, mpirun will hang, but still respond correctly to a ctrl-c. find the executable, ompi-submit will hang, but still respond correctly to a ctrl-c.
If this happens, please check that the executable is being specified correctly If this happens, please check that the executable is being specified correctly
and try again. and try again.
. .
@ -430,11 +429,6 @@ directory. By default, the absolute and relative paths provided by --preload-fil
. .
. .
.TP .TP
.B --tmpdir \fR<dir>\fP
Set the root for the session directory tree for mpirun only.
.
.
.TP
.B -wd \fR<dir>\fP .B -wd \fR<dir>\fP
Synonym for \fI-wdir\fP. Synonym for \fI-wdir\fP.
. .
@ -458,7 +452,7 @@ executing the program. Only one environment variable can be specified
per \fI-x\fP option. Existing environment variables can be specified per \fI-x\fP option. Existing environment variables can be specified
or new variable names specified with corresponding values. For or new variable names specified with corresponding values. For
example: example:
\fB%\fP mpirun -x DISPLAY -x OFILE=/tmp/out ... \fB%\fP ompi-submit -x DISPLAY -x OFILE=/tmp/out ...
The parser for the \fI-x\fP option is not very sophisticated; it does The parser for the \fI-x\fP option is not very sophisticated; it does
not even understand quoted values. Users are advised to set variables not even understand quoted values. Users are advised to set variables
@ -515,9 +509,9 @@ There are also other options:
.TP .TP
.B --allow-run-as-root .B --allow-run-as-root
Allow Allow
.I mpirun .I ompi-submit
to run when executed by the root user to run when executed by the root user
.RI ( mpirun .RI ( ompi-submit
defaults to aborting when launched as the root user). defaults to aborting when launched as the root user).
. .
. .
@ -542,54 +536,16 @@ Indicates that multiple app_contexts are being provided that are a mix of 32/64-
. .
. .
.TP .TP
.B -leave-session-attached\fR,\fP --leave-session-attached
Do not detach OmpiRTE daemons used by this application. This allows error messages from the daemons
as well as the underlying environment (e.g., when failing to launch a daemon) to be output.
.
.
.TP
.B -ompi-server\fR,\fP --ompi-server <uri or file> .B -ompi-server\fR,\fP --ompi-server <uri or file>
Specify the URI of the Open MPI server (or the mpirun to be used as the server) Specify the URI of the Open MPI server (or the ompi-submit to be used as the server)
, the name , the name
of the file (specified as file:filename) that of the file (specified as file:filename) that
contains that info, or the PID (specified as pid:#) of the mpirun to be used as contains that info, or the PID (specified as pid:#) of the ompi-submit to be used as
the server. the server.
The Open MPI server is used to support multi-application data exchange via The Open MPI server is used to support multi-application data exchange via
the MPI-2 MPI_Publish_name and MPI_Lookup_name functions. the MPI-2 MPI_Publish_name and MPI_Lookup_name functions.
. .
. .
.TP
.B -report-pid\fR,\fP --report-pid <channel>
Print out mpirun's PID during startup. The channel must be either a '-' to indi
cate that
the pid is to be output to stdout, a '+' to indicate that the pid is to be outp
ut to stderr,
or a filename to which the pid is to be written.
.
.
.TP
.B -report-uri\fR,\fP --report-uri <channel>
Print out mpirun's URI during startup. The channel must be either a '-' to indi
cate that
the URI is to be output to stdout, a '+' to indicate that the URI is to be outp
ut to stderr,
or a filename to which the URI is to be written.
.
.
.TP
.B -wait-for-server\fR,\fP --wait-for-server
Pause mpirun before launching the job until ompi-server is detected. This
is useful in scripts where ompi-server may be started in the background, followed immediately by
an \fImpirun\fP command that wishes to connect to it. Mpirun will pause until either the specified
ompi-server is contacted or the server-wait-time is exceeded.
.
.
.TP
.B -server-wait-time\fR,\fP --server-wait-time <secs>
The max amount of time (in seconds) mpirun should wait for the ompi-server to start. The default
is 10 seconds.
.
.
. .
. .
.P .P
@ -602,33 +558,9 @@ Enable debugging of the OmpiRTE (the run-time layer in Open MPI).
This is not generally useful for most users. This is not generally useful for most users.
. .
. .
.TP
.B --debug-daemons
Enable debugging of any OmpiRTE daemons used by this application.
.
.
.TP
.B --debug-daemons-file
Enable debugging of any OmpiRTE daemons used by this application, storing
output in files.
.
.
.TP
.B -launch-agent\fR,\fP --launch-agent
Name of the executable that is to be used to start processes on the remote nodes. The default
is "orted". This option can be used to test new daemon concepts, or to pass options back to the
daemons without having mpirun itself see them. For example, specifying a launch agent of
\fRorted -mca odls_base_verbose 5\fR allows the developer to ask the orted for debugging output
without clutter from mpirun itself.
.
.
.TP
.B --noprefix
Disable the automatic --prefix behavior
.
. .
.P .P
There may be other options listed with \fImpirun --help\fP. There may be other options listed with \fIompi-submit --help\fP.
. .
. .
.SS Environment Variables .SS Environment Variables
@ -636,10 +568,10 @@ There may be other options listed with \fImpirun --help\fP.
.TP .TP
.B MPIEXEC_TIMEOUT .B MPIEXEC_TIMEOUT
The maximum number of seconds that The maximum number of seconds that
.I mpirun .I ompi-submit
.RI ( mpiexec ) .RI ( mpiexec )
will run. After this many seconds, will run. After this many seconds,
.I mpirun .I ompi-submit
will abort the launched job and exit. will abort the launched job and exit.
. .
. .
@ -648,9 +580,9 @@ will abort the launched job and exit.
.\" ************************** .\" **************************
.SH DESCRIPTION .SH DESCRIPTION
. .
One invocation of \fImpirun\fP starts an MPI application running under Open One invocation of \fIompi-submit\fP starts an MPI application running under Open
MPI. If the application is single process multiple data (SPMD), the application MPI. If the application is single process multiple data (SPMD), the application
can be specified on the \fImpirun\fP command line. can be specified on the \fIompi-submit\fP command line.
If the application is multiple instruction multiple data (MIMD), comprising of If the application is multiple instruction multiple data (MIMD), comprising of
multiple programs, the set of programs and argument can be specified in one of multiple programs, the set of programs and argument can be specified in one of
@ -659,7 +591,7 @@ two ways: Extended Command Line Arguments, and Application Context.
An application context describes the MIMD program set including all arguments An application context describes the MIMD program set including all arguments
in a separate file. in a separate file.
.\" See appcontext(5) for a description of the application context syntax. .\" See appcontext(5) for a description of the application context syntax.
This file essentially contains multiple \fImpirun\fP command lines, less the This file essentially contains multiple \fIompi-submit\fP command lines, less the
command name itself. The ability to specify different options for different command name itself. The ability to specify different options for different
instantiations of a program is another reason to use an application context. instantiations of a program is another reason to use an application context.
.PP .PP
@ -673,14 +605,14 @@ programs (e.g. --hostfile), while others are specific to a single program
. .
.SS Specifying Host Nodes .SS Specifying Host Nodes
. .
Host nodes can be identified on the \fImpirun\fP command line with the \fI-host\fP Host nodes can be identified on the \fIompi-submit\fP command line with the \fI-host\fP
option or in a hostfile. option or in a hostfile.
. .
.PP .PP
For example, For example,
. .
.TP 4 .TP 4
mpirun -H aa,aa,bb ./a.out ompi-submit -H aa,aa,bb ./a.out
launches two processes on node aa and one on bb. launches two processes on node aa and one on bb.
. .
.PP .PP
@ -694,27 +626,22 @@ Or, consider the hostfile
. .
.PP .PP
Here, we list both the host names (aa, bb, and cc) but also how many "slots" Since the DVM was started with \fIorte-dvm\fP, \fIorte-submit\fP
there are for each. Slots indicate how many processes can potentially execute will ignore any slots arguments in the hostfile. Values provided
on a node. For best performance, the number of slots may be chosen to be the via hostfile to \fIorte-dvm\fP will control the behavior.
number of cores on the node or the number of processor sockets. If the hostfile
does not provide slots information, a default of 1 is assumed.
When running under resource managers (e.g., SLURM, Torque, etc.),
Open MPI will obtain both the hostnames and the number of slots directly
from the resource manger.
. .
.PP .PP
. .
.TP 4 .TP 4
mpirun -hostfile myhostfile ./a.out ompi-submit -hostfile myhostfile ./a.out
will launch two processes on each of the three nodes. will launch two processes on each of the three nodes.
. .
.TP 4 .TP 4
mpirun -hostfile myhostfile -host aa ./a.out ompi-submit -hostfile myhostfile -host aa ./a.out
will launch two processes, both on node aa. will launch two processes, both on node aa.
. .
.TP 4 .TP 4
mpirun -hostfile myhostfile -host dd ./a.out ompi-submit -hostfile myhostfile -host dd ./a.out
will find no hosts to run on and abort with an error. will find no hosts to run on and abort with an error.
That is, the specified host dd is not in the specified hostfile. That is, the specified host dd is not in the specified hostfile.
. .
@ -728,22 +655,22 @@ The number of processes launched can be specified as a multiple of the
number of nodes or processor sockets available. For example, number of nodes or processor sockets available. For example,
. .
.TP 4 .TP 4
mpirun -H aa,bb -npersocket 2 ./a.out ompi-submit -H aa,bb -npersocket 2 ./a.out
launches processes 0-3 on node aa and process 4-7 on node bb, launches processes 0-3 on node aa and process 4-7 on node bb,
where aa and bb are both dual-socket nodes. where aa and bb are both dual-socket nodes.
The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option, The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option,
which is discussed in a later section. which is discussed in a later section.
. .
.TP 4 .TP 4
mpirun -H aa,bb -npernode 2 ./a.out ompi-submit -H aa,bb -npernode 2 ./a.out
launches processes 0-1 on node aa and processes 2-3 on node bb. launches processes 0-1 on node aa and processes 2-3 on node bb.
. .
.TP 4 .TP 4
mpirun -H aa,bb -npernode 1 ./a.out ompi-submit -H aa,bb -npernode 1 ./a.out
launches one process per host node. launches one process per host node.
. .
.TP 4 .TP 4
mpirun -H aa,bb -pernode ./a.out ompi-submit -H aa,bb -pernode ./a.out
is the same as \fI-npernode\fP 1. is the same as \fI-npernode\fP 1.
. .
. .
@ -762,7 +689,7 @@ Another alternative is to specify the number of processes with the
Now, Now,
. .
.TP 4 .TP 4
mpirun -hostfile myhostfile -np 6 ./a.out ompi-submit -hostfile myhostfile -np 6 ./a.out
will launch processes 0-3 on node aa and processes 4-5 on node bb. The remaining will launch processes 0-3 on node aa and processes 4-5 on node bb. The remaining
slots in the hostfile will not be used since the \fI-np\fP option indicated slots in the hostfile will not be used since the \fI-np\fP option indicated
that only 6 processes should be launched. that only 6 processes should be launched.
@ -771,7 +698,7 @@ that only 6 processes should be launched.
. .
The examples above illustrate the default mapping of process processes The examples above illustrate the default mapping of process processes
to nodes. This mapping can also be controlled with various to nodes. This mapping can also be controlled with various
\fImpirun\fP options that describe mapping policies. \fIompi-submit\fP options that describe mapping policies.
. .
. .
.PP .PP
@ -780,11 +707,11 @@ Consider the same hostfile as above, again with \fI-np\fP 6:
node aa node bb node cc node aa node bb node cc
mpirun 0 1 2 3 4 5 ompi-submit 0 1 2 3 4 5
mpirun --map-by node 0 3 1 4 2 5 ompi-submit --map-by node 0 3 1 4 2 5
mpirun -nolocal 0 1 2 3 4 5 ompi-submit -nolocal 0 1 2 3 4 5
. .
.PP .PP
The \fI--map-by node\fP option will load balance the processes across The \fI--map-by node\fP option will load balance the processes across
@ -792,9 +719,9 @@ the available nodes, numbering each process in a round-robin fashion.
. .
.PP .PP
The \fI-nolocal\fP option prevents any processes from being mapped onto the The \fI-nolocal\fP option prevents any processes from being mapped onto the
local host (in this case node aa). While \fImpirun\fP typically consumes local host (in this case node aa). While \fIompi-submit\fP typically consumes
few system resources, \fI-nolocal\fP can be helpful for launching very few system resources, \fI-nolocal\fP can be helpful for launching very
large jobs where \fImpirun\fP may actually need to use noticeable amounts large jobs where \fIompi-submit\fP may actually need to use noticeable amounts
of memory and/or processing time. of memory and/or processing time.
. .
.PP .PP
@ -802,7 +729,7 @@ Just as \fI-np\fP can specify fewer processes than there are slots, it can
also oversubscribe the slots. For example, with the same hostfile: also oversubscribe the slots. For example, with the same hostfile:
. .
.TP 4 .TP 4
mpirun -hostfile myhostfile -np 14 ./a.out ompi-submit -hostfile myhostfile -np 14 ./a.out
will launch processes 0-3 on node aa, 4-7 on bb, and 8-11 on cc. It will will launch processes 0-3 on node aa, 4-7 on bb, and 8-11 on cc. It will
then add the remaining two processes to whichever nodes it chooses. then add the remaining two processes to whichever nodes it chooses.
. .
@ -811,7 +738,7 @@ One can also specify limits to oversubscription. For example, with the same
hostfile: hostfile:
. .
.TP 4 .TP 4
mpirun -hostfile myhostfile -np 14 -nooversubscribe ./a.out ompi-submit -hostfile myhostfile -np 14 -nooversubscribe ./a.out
will produce an error since \fI-nooversubscribe\fP prevents oversubscription. will produce an error since \fI-nooversubscribe\fP prevents oversubscription.
. .
.PP .PP
@ -827,7 +754,7 @@ The \fImax_slots\fP field specifies such a limit. When it does, the
\fIslots\fP value defaults to the limit. Now: \fIslots\fP value defaults to the limit. Now:
. .
.TP 4 .TP 4
mpirun -hostfile myhostfile -np 14 ./a.out ompi-submit -hostfile myhostfile -np 14 ./a.out
causes the first 12 processes to be launched as before, but the remaining causes the first 12 processes to be launched as before, but the remaining
two processes will be forced onto node cc. The other two nodes are two processes will be forced onto node cc. The other two nodes are
protected by the hostfile against oversubscription by this job. protected by the hostfile against oversubscription by this job.
@ -841,7 +768,7 @@ Of course, \fI-np\fP can also be used with the \fI-H\fP or \fI-host\fP
option. For example, option. For example,
. .
.TP 4 .TP 4
mpirun -H aa,bb -np 8 ./a.out ompi-submit -H aa,bb -np 8 ./a.out
launches 8 processes. Since only two hosts are specified, after the first launches 8 processes. Since only two hosts are specified, after the first
two processes are mapped, one to aa and one to bb, the remaining processes two processes are mapped, one to aa and one to bb, the remaining processes
oversubscribe the specified hosts. oversubscribe the specified hosts.
@ -850,7 +777,7 @@ oversubscribe the specified hosts.
And here is a MIMD example: And here is a MIMD example:
. .
.TP 4 .TP 4
mpirun -H aa -np 1 hostname : -H bb,cc -np 2 uptime ompi-submit -H aa -np 1 hostname : -H bb,cc -np 2 uptime
will launch process 0 running \fIhostname\fP on node aa and processes 1 and 2 will launch process 0 running \fIhostname\fP on node aa and processes 1 and 2
each running \fIuptime\fP on nodes bb and cc, respectively. each running \fIuptime\fP on nodes bb and cc, respectively.
. .
@ -891,7 +818,7 @@ to nodes in whatever order the hostfile specifies. Use the
as before: as before:
. .
.PP .PP
mpirun -hostfile myhostfile -mca rmaps seq ./a.out ompi-submit -hostfile myhostfile -mca rmaps seq ./a.out
. .
.PP .PP
will launch three processes, one on each of nodes aa, bb, and cc, respectively. will launch three processes, one on each of nodes aa, bb, and cc, respectively.
@ -967,29 +894,29 @@ Finally, \fI--report-bindings\fP can be used to report bindings.
. .
.PP .PP
As an example, consider a node with two processor sockets, each comprising As an example, consider a node with two processor sockets, each comprising
four cores. We run \fImpirun\fP with \fI-np 4 --report-bindings\fP and four cores. We run \fIompi-submit\fP with \fI-np 4 --report-bindings\fP and
the following additional options: the following additional options:
. .
% mpirun ... --map-by core --bind-to core % ompi-submit ... --map-by core --bind-to core
[...] ... binding child [...,0] to cpus 0001 [...] ... binding child [...,0] to cpus 0001
[...] ... binding child [...,1] to cpus 0002 [...] ... binding child [...,1] to cpus 0002
[...] ... binding child [...,2] to cpus 0004 [...] ... binding child [...,2] to cpus 0004
[...] ... binding child [...,3] to cpus 0008 [...] ... binding child [...,3] to cpus 0008
% mpirun ... --map-by socket -0bind-to socket % ompi-submit ... --map-by socket -0bind-to socket
[...] ... binding child [...,0] to socket 0 cpus 000f [...] ... binding child [...,0] to socket 0 cpus 000f
[...] ... binding child [...,1] to socket 1 cpus 00f0 [...] ... binding child [...,1] to socket 1 cpus 00f0
[...] ... binding child [...,2] to socket 0 cpus 000f [...] ... binding child [...,2] to socket 0 cpus 000f
[...] ... binding child [...,3] to socket 1 cpus 00f0 [...] ... binding child [...,3] to socket 1 cpus 00f0
% mpirun ... --map-by core:PE=2 -bind-to core % ompi-submit ... --map-by core:PE=2 -bind-to core
[...] ... binding child [...,0] to cpus 0003 [...] ... binding child [...,0] to cpus 0003
[...] ... binding child [...,1] to cpus 000c [...] ... binding child [...,1] to cpus 000c
[...] ... binding child [...,2] to cpus 0030 [...] ... binding child [...,2] to cpus 0030
[...] ... binding child [...,3] to cpus 00c0 [...] ... binding child [...,3] to cpus 00c0
% mpirun ... --bind-to none % ompi-submit ... --bind-to none
. .
.PP .PP
Here, \fI--report-bindings\fP shows the binding of each process as a mask. Here, \fI--report-bindings\fP shows the binding of each process as a mask.
@ -1008,14 +935,14 @@ on every system.
. .
.PP .PP
Process binding can also be set with MCA parameters. Process binding can also be set with MCA parameters.
Their usage is less convenient than that of \fImpirun\fP options. Their usage is less convenient than that of \fIompi-submit\fP options.
On the other hand, MCA parameters can be set not only on the \fImpirun\fP On the other hand, MCA parameters can be set not only on the \fIompi-submit\fP
command line, but alternatively in a system or user mca-params.conf file command line, but alternatively in a system or user mca-params.conf file
or as environment variables, as described in the MCA section below. or as environment variables, as described in the MCA section below.
Some examples include: Some examples include:
. .
.PP .PP
mpirun option MCA parameter key value ompi-submit option MCA parameter key value
--map-by core rmaps_base_mapping_policy core --map-by core rmaps_base_mapping_policy core
--map-by socket rmaps_base_mapping_policy socket --map-by socket rmaps_base_mapping_policy socket
@ -1045,7 +972,7 @@ For example:
rank 0=aa slot=1:0-2 rank 0=aa slot=1:0-2
rank 1=bb slot=0:0,1 rank 1=bb slot=0:0,1
rank 2=cc slot=1-2 rank 2=cc slot=1-2
$ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out $ ompi-submit -H aa,bb,cc,dd -rf myrankfile ./a.out
. .
.PP .PP
Means that Means that
@ -1086,7 +1013,7 @@ is to be considered as \fIphysical\fP.
The hostnames listed above are "absolute," meaning that actual The hostnames listed above are "absolute," meaning that actual
resolveable hostnames are specified. However, hostnames can also be resolveable hostnames are specified. However, hostnames can also be
specified as "relative," meaning that they are specified in relation specified as "relative," meaning that they are specified in relation
to an externally-specified list of hostnames (e.g., by mpirun's --host to an externally-specified list of hostnames (e.g., by ompi-submit's --host
argument, a hostfile, or a job scheduler). argument, a hostfile, or a job scheduler).
. .
.PP .PP
@ -1099,7 +1026,7 @@ hostnames, indexed from 0. For example:
rank 0=+n0 slot=1:0-2 rank 0=+n0 slot=1:0-2
rank 1=+n1 slot=0:0,1 rank 1=+n1 slot=0:0,1
rank 2=+n2 slot=1-2 rank 2=+n2 slot=1-2
$ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out $ ompi-submit -H aa,bb,cc,dd -rf myrankfile ./a.out
. .
.PP .PP
Starting with Open MPI v1.7, all socket/core slot locations are be Starting with Open MPI v1.7, all socket/core slot locations are be
@ -1113,7 +1040,7 @@ logical indexes of socket and cores.
. .
.SS Application Context or Executable Program? .SS Application Context or Executable Program?
. .
To distinguish the two different forms, \fImpirun\fP To distinguish the two different forms, \fIompi-submit\fP
looks on the command line for \fI--app\fP option. If looks on the command line for \fI--app\fP option. If
it is specified, then the file named on the command line is it is specified, then the file named on the command line is
assumed to be an application context. If it is not assumed to be an application context. If it is not
@ -1134,13 +1061,13 @@ If a relative directory is specified, it must be relative to the initial
working directory determined by the specific starter used. For example when working directory determined by the specific starter used. For example when
using the rsh or ssh starters, the initial directory is $HOME by default. Other using the rsh or ssh starters, the initial directory is $HOME by default. Other
starters may set the initial directory to the current working directory from starters may set the initial directory to the current working directory from
the invocation of \fImpirun\fP. the invocation of \fIompi-submit\fP.
. .
. .
. .
.SS Current Working Directory .SS Current Working Directory
. .
The \fI\-wdir\fP mpirun option (and its synonym, \fI\-wd\fP) allows The \fI\-wdir\fP ompi-submit option (and its synonym, \fI\-wd\fP) allows
the user to change to an arbitrary directory before the program is the user to change to an arbitrary directory before the program is
invoked. It can also be used in application context files to specify invoked. It can also be used in application context files to specify
working directories on specific nodes and/or for specific working directories on specific nodes and/or for specific
@ -1152,10 +1079,10 @@ line value.
.PP .PP
If the \fI-wdir\fP option is specified, Open MPI will attempt to If the \fI-wdir\fP option is specified, Open MPI will attempt to
change to the specified directory on all of the remote nodes. If this change to the specified directory on all of the remote nodes. If this
fails, \fImpirun\fP will abort. fails, \fIompi-submit\fP will abort.
.PP .PP
If the \fI-wdir\fP option is \fBnot\fP specified, Open MPI will send If the \fI-wdir\fP option is \fBnot\fP specified, Open MPI will send
the directory name where \fImpirun\fP was invoked to each of the the directory name where \fIompi-submit\fP was invoked to each of the
remote nodes. The remote nodes will try to change to that remote nodes. The remote nodes will try to change to that
directory. If they are unable (e.g., if the directory does not exist on directory. If they are unable (e.g., if the directory does not exist on
that node), then Open MPI will use the default directory determined by that node), then Open MPI will use the default directory determined by
@ -1170,22 +1097,22 @@ does not wait until \fIMPI_INIT\fP is called.
. .
Open MPI directs UNIX standard input to /dev/null on all processes Open MPI directs UNIX standard input to /dev/null on all processes
except the MPI_COMM_WORLD rank 0 process. The MPI_COMM_WORLD rank 0 process except the MPI_COMM_WORLD rank 0 process. The MPI_COMM_WORLD rank 0 process
inherits standard input from \fImpirun\fP. inherits standard input from \fIompi-submit\fP.
.B Note: .B Note:
The node that invoked \fImpirun\fP need not be the same as the node where the The node that invoked \fIompi-submit\fP need not be the same as the node where the
MPI_COMM_WORLD rank 0 process resides. Open MPI handles the redirection of MPI_COMM_WORLD rank 0 process resides. Open MPI handles the redirection of
\fImpirun\fP's standard input to the rank 0 process. \fIompi-submit\fP's standard input to the rank 0 process.
.PP .PP
Open MPI directs UNIX standard output and error from remote nodes to the node Open MPI directs UNIX standard output and error from remote nodes to the node
that invoked \fImpirun\fP and prints it on the standard output/error of that invoked \fIompi-submit\fP and prints it on the standard output/error of
\fImpirun\fP. \fIompi-submit\fP.
Local processes inherit the standard output/error of \fImpirun\fP and transfer Local processes inherit the standard output/error of \fIompi-submit\fP and transfer
to it directly. to it directly.
.PP .PP
Thus it is possible to redirect standard I/O for Open MPI applications by Thus it is possible to redirect standard I/O for Open MPI applications by
using the typical shell redirection procedure on \fImpirun\fP. using the typical shell redirection procedure on \fIompi-submit\fP.
\fB%\fP mpirun -np 2 my_app < my_input > my_output \fB%\fP ompi-submit -np 2 my_app < my_input > my_output
Note that in this example \fIonly\fP the MPI_COMM_WORLD rank 0 process will Note that in this example \fIonly\fP the MPI_COMM_WORLD rank 0 process will
receive the stream from \fImy_input\fP on stdin. The stdin on all the other receive the stream from \fImy_input\fP on stdin. The stdin on all the other
@ -1196,32 +1123,32 @@ be collected into the \fImy_output\fP file.
. .
.SS Signal Propagation .SS Signal Propagation
. .
When orterun receives a SIGTERM and SIGINT, it will attempt to kill When orte-submit receives a SIGTERM and SIGINT, it will attempt to kill
the entire job by sending all processes in the job a SIGTERM, waiting the entire job by sending all processes in the job a SIGTERM, waiting
a small number of seconds, then sending all processes in the job a a small number of seconds, then sending all processes in the job a
SIGKILL. SIGKILL.
. .
.PP .PP
SIGUSR1 and SIGUSR2 signals received by orterun are propagated to SIGUSR1 and SIGUSR2 signals received by orte-submit are propagated to
all processes in the job. all processes in the job.
. .
.PP .PP
One can turn on forwarding of SIGSTOP and SIGCONT to the program executed One can turn on forwarding of SIGSTOP and SIGCONT to the program executed
by mpirun by setting the MCA parameter orte_forward_job_control to 1. by ompi-submit by setting the MCA parameter orte_forward_job_control to 1.
A SIGTSTOP signal to mpirun will then cause a SIGSTOP signal to be sent A SIGTSTOP signal to ompi-submit will then cause a SIGSTOP signal to be sent
to all of the programs started by mpirun and likewise a SIGCONT signal to all of the programs started by ompi-submit and likewise a SIGCONT signal
to mpirun will cause a SIGCONT sent. to ompi-submit will cause a SIGCONT sent.
. .
.PP .PP
Other signals are not currently propagated Other signals are not currently propagated
by orterun. by orte-submit.
. .
. .
.SS Process Termination / Signal Handling .SS Process Termination / Signal Handling
. .
During the run of an MPI application, if any process dies abnormally During the run of an MPI application, if any process dies abnormally
(either exiting before invoking \fIMPI_FINALIZE\fP, or dying as the result of a (either exiting before invoking \fIMPI_FINALIZE\fP, or dying as the result of a
signal), \fImpirun\fP will print out an error message and kill the rest of the signal), \fIompi-submit\fP will print out an error message and kill the rest of the
MPI application. MPI application.
.PP .PP
User signal handlers should probably avoid trying to cleanup MPI state User signal handlers should probably avoid trying to cleanup MPI state
@ -1232,7 +1159,7 @@ and thread safety). For example, if a segmentation fault occurs in
\fIMPI_SEND\fP (perhaps because a bad buffer was passed in) and a user \fIMPI_SEND\fP (perhaps because a bad buffer was passed in) and a user
signal handler is invoked, if this user handler attempts to invoke signal handler is invoked, if this user handler attempts to invoke
\fIMPI_FINALIZE\fP, Bad Things could happen since Open MPI was already \fIMPI_FINALIZE\fP, Bad Things could happen since Open MPI was already
"in" MPI when the error occurred. Since \fImpirun\fP will notice that "in" MPI when the error occurred. Since \fIompi-submit\fP will notice that
the process died due to a signal, it is probably not necessary (and the process died due to a signal, it is probably not necessary (and
safest) for the user to only clean up non-MPI state. safest) for the user to only clean up non-MPI state.
. .
@ -1296,7 +1223,7 @@ Local libdir:
.PP .PP
If the following command line is used: If the following command line is used:
\fB%\fP mpirun --prefix /remote/node/directory \fB%\fP ompi-submit --prefix /remote/node/directory
Open MPI will add "/remote/node/directory/bin" to the \fIPATH\fR Open MPI will add "/remote/node/directory/bin" to the \fIPATH\fR
and "/remote/node/directory/lib64" to the \fLD_LIBRARY_PATH\fR on the and "/remote/node/directory/lib64" to the \fLD_LIBRARY_PATH\fR on the
@ -1308,15 +1235,15 @@ is used on the local node, but "/lib64" is used on the remote node),
or if the installation paths are something other than a subdirectory or if the installation paths are something other than a subdirectory
under a common prefix. under a common prefix.
.PP .PP
Note that executing \fImpirun\fR via an absolute pathname is Note that executing \fIompi-submit\fR via an absolute pathname is
equivalent to specifying \fI--prefix\fR without the last subdirectory equivalent to specifying \fI--prefix\fR without the last subdirectory
in the absolute pathname to \fImpirun\fR. For example: in the absolute pathname to \fIompi-submit\fR. For example:
\fB%\fP /usr/local/bin/mpirun ... \fB%\fP /usr/local/bin/ompi-submit ...
is equivalent to is equivalent to
\fB%\fP mpirun --prefix /usr/local \fB%\fP ompi-submit --prefix /usr/local
. .
. .
. .
@ -1325,7 +1252,7 @@ is equivalent to
All environment variables that are named in the form OMPI_* will automatically All environment variables that are named in the form OMPI_* will automatically
be exported to new processes on the local and remote nodes. Environmental be exported to new processes on the local and remote nodes. Environmental
parameters can also be set/forwarded to the new processes using the MCA parameters can also be set/forwarded to the new processes using the MCA
parameter \fImca_base_env_list\fP. The \fI\-x\fP option to \fImpirun\fP has parameter \fImca_base_env_list\fP. The \fI\-x\fP option to \fIompi-submit\fP has
been deprecated, but the syntax of the MCA param follows that prior been deprecated, but the syntax of the MCA param follows that prior
example. While the syntax of the \fI\-x\fP option and MCA param example. While the syntax of the \fI\-x\fP option and MCA param
allows the definition of new variables, note that the parser allows the definition of new variables, note that the parser
@ -1352,12 +1279,12 @@ passed.
For example: For example:
. .
.TP 4 .TP 4
mpirun -mca btl tcp,self -np 1 foo ompi-submit -mca btl tcp,self -np 1 foo
Tells Open MPI to use the "tcp" and "self" BTLs, and to run a single copy of Tells Open MPI to use the "tcp" and "self" BTLs, and to run a single copy of
"foo" an allocated node. "foo" an allocated node.
. .
.TP .TP
mpirun -mca btl self -np 1 foo ompi-submit -mca btl self -np 1 foo
Tells Open MPI to use the "self" BTL, and to run a single copy of "foo" an Tells Open MPI to use the "self" BTL, and to run a single copy of "foo" an
allocated node. allocated node.
.\" And so on. Open MPI's BTL MCA modules are described in ompimca_btl(7). .\" And so on. Open MPI's BTL MCA modules are described in ompimca_btl(7).
@ -1369,7 +1296,7 @@ specified more than once, the \fI<value>\fPs are concatenated with a comma
.PP .PP
Note that the \fI-mca\fP switch is simply a shortcut for setting environment variables. Note that the \fI-mca\fP switch is simply a shortcut for setting environment variables.
The same effect may be accomplished by setting corresponding environment The same effect may be accomplished by setting corresponding environment
variables before running \fImpirun\fP. variables before running \fIompi-submit\fP.
The form of the environment variables that Open MPI sets is: The form of the environment variables that Open MPI sets is:
OMPI_MCA_<key>=<value> OMPI_MCA_<key>=<value>
@ -1382,7 +1309,7 @@ file.
. .
.PP .PP
Unknown \fI<key>\fP arguments are still set as Unknown \fI<key>\fP arguments are still set as
environment variable -- they are not checked (by \fImpirun\fP) for correctness. environment variable -- they are not checked (by \fIompi-submit\fP) for correctness.
Illegal or incorrect \fI<value>\fP arguments may or may not be reported -- it Illegal or incorrect \fI<value>\fP arguments may or may not be reported -- it
depends on the specific MCA module. depends on the specific MCA module.
.PP .PP
@ -1393,24 +1320,24 @@ See the \fIompi_info(1)\fP man page for detailed information on the command.
.SS Running as root .SS Running as root
. .
The Open MPI team strongly advises against executing The Open MPI team strongly advises against executing
.I mpirun .I ompi-submit
as the root user. MPI applications should be run as regular as the root user. MPI applications should be run as regular
(non-root) users. (non-root) users.
. .
.PP .PP
Reflecting this advice, mpirun will refuse to run as root by default. Reflecting this advice, ompi-submit will refuse to run as root by default.
To override this default, you can add the To override this default, you can add the
.I --allow-run-as-root .I --allow-run-as-root
option to the option to the
.I mpirun .I ompi-submit
command line. command line.
. .
.SS Exit status .SS Exit status
. .
There is no standard definition for what \fImpirun\fP should return as an exit There is no standard definition for what \fIompi-submit\fP should return as an exit
status. After considerable discussion, we settled on the following method for status. After considerable discussion, we settled on the following method for
assigning the \fImpirun\fP exit status (note: in the following description, assigning the \fIompi-submit\fP exit status (note: in the following description,
the "primary" job is the initial application started by mpirun - all jobs that the "primary" job is the initial application started by ompi-submit - all jobs that
are spawned by that job are designated "secondary" jobs): are spawned by that job are designated "secondary" jobs):
. .
.IP \[bu] 2 .IP \[bu] 2
@ -1456,13 +1383,13 @@ with the first process to so exit identified along with its exit status.
Be sure also to see the examples throughout the sections above. Be sure also to see the examples throughout the sections above.
. .
.TP 4 .TP 4
mpirun -np 4 -mca btl ib,tcp,self prog1 ompi-submit -np 4 -mca btl ib,tcp,self prog1
Run 4 copies of prog1 using the "ib", "tcp", and "self" BTL's for the Run 4 copies of prog1 using the "ib", "tcp", and "self" BTL's for the
transport of MPI messages. transport of MPI messages.
. .
. .
.TP 4 .TP 4
mpirun -np 4 -mca btl tcp,sm,self ompi-submit -np 4 -mca btl tcp,sm,self
.br .br
--mca btl_tcp_if_include eth0 prog1 --mca btl_tcp_if_include eth0 prog1
.br .br
@ -1486,12 +1413,12 @@ parameters.
. .
.SH RETURN VALUE .SH RETURN VALUE
. .
\fImpirun\fP returns 0 if all processes started by \fImpirun\fP exit after calling \fIompi-submit\fP returns 0 if all processes started by \fIompi-submit\fP exit after calling
MPI_FINALIZE. A non-zero value is returned if an internal error occurred in MPI_FINALIZE. A non-zero value is returned if an internal error occurred in
mpirun, or one or more processes exited before calling MPI_FINALIZE. If an ompi-submit, or one or more processes exited before calling MPI_FINALIZE. If an
internal error occurred in mpirun, the corresponding error code is returned. internal error occurred in ompi-submit, the corresponding error code is returned.
In the event that one or more processes exit before calling MPI_FINALIZE, the In the event that one or more processes exit before calling MPI_FINALIZE, the
return value of the MPI_COMM_WORLD rank of the process that \fImpirun\fP first notices died return value of the MPI_COMM_WORLD rank of the process that \fIompi-submit\fP first notices died
before calling MPI_FINALIZE will be returned. Note that, in general, this will before calling MPI_FINALIZE will be returned. Note that, in general, this will
be the first process that died but is not guaranteed to be so. be the first process that died but is not guaranteed to be so.
. .