Upgrade MPIs on linux
This commit is contained in:
@@ -1,10 +1,19 @@
|
||||
.TH hydra_nameserver 1 "6/5/2019" " " "HYDRA"
|
||||
.TH hydra_nameserver 1 "2/3/2025" " " "HYDRA"
|
||||
.SH NAME
|
||||
hydra_nameserver \- Internal executable used by Hydra
|
||||
hydra_nameserver \- program to support MPI
|
||||
.I s name publishing features with hydra
|
||||
.SH DESCRIPTION
|
||||
This executable is designed to not be run directly by users, but to
|
||||
support the Hydra process manager. As such, no documentation will be
|
||||
provided here.
|
||||
Hydra is the default name service for MPI\\
|
||||
s name publishing features
|
||||
(MPI_PUBLISH_NAME/MPI_LOOKUP_NAME). For programs launched by separate
|
||||
hydra instances, a separate nameserver mechanism need be launched in
|
||||
order for the name publishing to work across multiple process managers.
|
||||
|
||||
This can be achieved with hydra_nameserver. For example:
|
||||
.nf
|
||||
shell@myhost1$ hydra_nameserver &
|
||||
shell@myhost1$ mpiexec -hosts myhost1,myhost2 -n 4 -nameserver myhost1 ./a.out
|
||||
.fi
|
||||
|
||||
.SH LOCATION
|
||||
/tmp/kS7n0Mi0xa/mpich-3.3.1/src/pm/hydra/tools/nameserver/hydra_nameserver.txt
|
||||
/var/tmp/qbvJ6gPnF7/mpich-4.3.0/src/pm/hydra/mansrc/hydra_nameserver.txt
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH hydra_persist 1 "6/5/2019" " " "HYDRA"
|
||||
.TH hydra_persist 1 "2/3/2025" " " "HYDRA"
|
||||
.SH NAME
|
||||
hydra_persist \- Internal executable used by Hydra
|
||||
.SH DESCRIPTION
|
||||
@@ -7,4 +7,4 @@ support the Hydra process manager. As such, no documentation will be
|
||||
provided here.
|
||||
|
||||
.SH LOCATION
|
||||
/tmp/kS7n0Mi0xa/mpich-3.3.1/src/pm/hydra/tools/bootstrap/persist/hydra_persist.txt
|
||||
/var/tmp/qbvJ6gPnF7/mpich-4.3.0/src/pm/hydra/mansrc/hydra_persist.txt
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
.TH hydra_pmi_proxy 1 "6/5/2019" " " "HYDRA"
|
||||
.TH hydra_pmi_proxy 1 "2/3/2025" " " "HYDRA"
|
||||
.SH NAME
|
||||
hydra_pmi_proxy \- Internal exectuable used by Hydra
|
||||
hydra_pmi_proxy \- Internal executable used by Hydra
|
||||
.SH DESCRIPTION
|
||||
This executable is designed to not be run directly by users, but to
|
||||
support the Hydra process manager. As such, no documentation will be
|
||||
provided here.
|
||||
|
||||
.SH LOCATION
|
||||
/tmp/kS7n0Mi0xa/mpich-3.3.1/src/pm/hydra/pm/pmiserv/hydra_pmi_proxy.txt
|
||||
/var/tmp/qbvJ6gPnF7/mpich-4.3.0/src/pm/hydra/mansrc/hydra_pmi_proxy.txt
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH mpicc 1 "6/5/2019" " " "MPI"
|
||||
.TH mpicc 1 "2/3/2025" " " "MPI"
|
||||
.SH NAME
|
||||
mpicc \- Compiles and links MPI programs written in C
|
||||
.SH DESCRIPTION
|
||||
@@ -73,6 +73,11 @@ for all of the other dependencies.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -mpi
|
||||
- abi - Compile and link using the standard MPI ABI.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B others
|
||||
- are passed to the compiler or linker. For example,
|
||||
.I \\-c
|
||||
@@ -117,7 +122,7 @@ lengths for basic data objects (such as
|
||||
.I long double
|
||||
) and that
|
||||
uses compatible run-time libraries. On many systems, the various
|
||||
compilers are compatible and may be used interchangably. There are
|
||||
compilers are compatible and may be used interchangeably. There are
|
||||
exceptions; if you use the
|
||||
.I MPICH_CC
|
||||
environment variable or the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH mpicxx 1 "6/5/2019" " " "MPI"
|
||||
.TH mpicxx 1 "2/3/2025" " " "MPI"
|
||||
.SH NAME
|
||||
mpicxx \- Compiles and links MPI programs written in C++
|
||||
.SH DESCRIPTION
|
||||
@@ -73,6 +73,11 @@ for all of the other dependencies.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -mpi
|
||||
- abi - Compile and link using the standard MPI ABI.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B others
|
||||
- are passed to the compiler or linker. For example,
|
||||
.I \\-c
|
||||
@@ -117,7 +122,7 @@ lengths for basic data objects (such as
|
||||
.I long double
|
||||
) and that
|
||||
uses compatible run-time libraries. On many systems, the various
|
||||
compilers are compatible and may be used interchangably. There are
|
||||
compilers are compatible and may be used interchangeably. There are
|
||||
exceptions; if you use the
|
||||
.I MPICH_CXX
|
||||
environment variable or the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH mpiexec 1 "6/5/2019" " " "MPI"
|
||||
.TH mpiexec 1 "2/3/2025" " " "HYDRA"
|
||||
.SH NAME
|
||||
mpiexec \- Run an MPI program
|
||||
.SH SYNOPSIS
|
||||
@@ -27,7 +27,7 @@ mpiexec -n 4 a.out
|
||||
.fi
|
||||
|
||||
|
||||
The MPI standard specifies the following arguments and their meanings:
|
||||
The MPI standard suggests the following arguments and their meanings:
|
||||
|
||||
.PD 0
|
||||
.TP
|
||||
@@ -41,11 +41,6 @@ The MPI standard specifies the following arguments and their meanings:
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -arch <architecture name>
|
||||
- Pick hosts with this architecture type
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -wdir <working directory>
|
||||
- cd to this one
|
||||
.B before
|
||||
@@ -53,6 +48,23 @@ running executable
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -configfile <name>
|
||||
- file containing specifications of host/program,
|
||||
one per line, with # as a comment indicator, e.g., the usual
|
||||
mpiexec input. The lines excluding comments are concatenated with newlines
|
||||
replaced with spaces, and are then parsed as command line options.
|
||||
.PD 1
|
||||
|
||||
The following options are reserved by the MPI standard, but they are not
|
||||
supported by MPICH (hydra):
|
||||
|
||||
.PD 0
|
||||
.TP
|
||||
.B -arch <architecture name>
|
||||
- Pick hosts with this architecture type
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -path <pathlist>
|
||||
- use this to find the executable
|
||||
.PD 1
|
||||
@@ -67,30 +79,10 @@ of processes (see the MPI-2 specification for more details)
|
||||
.B -file <name>
|
||||
- implementation-defined specification file
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -configfile <name>
|
||||
- file containing specifications of host/program,
|
||||
one per line, with # as a comment indicator, e.g., the usual
|
||||
mpiexec input, but with ":" replaced with a newline. That is,
|
||||
the configfile contains lines with -soft, -n etc.
|
||||
.PD 1
|
||||
|
||||
Additional arguments that are specific to the MPICH implementation
|
||||
are discussed below.
|
||||
|
||||
Note that not all of these parameters are meaningful for all
|
||||
systems. For example, the
|
||||
.I gforker
|
||||
version of
|
||||
.I mpiexec
|
||||
creates all
|
||||
processes on the same system on which it is running; in that case, the
|
||||
.I \\-arch
|
||||
and
|
||||
.I \\-host
|
||||
options are ignored.
|
||||
|
||||
The colon character (
|
||||
.I :
|
||||
) may be used to separate different executables
|
||||
@@ -109,6 +101,15 @@ mpiexec -n 4 ocean : -n 8 air
|
||||
|
||||
.SH MPICH-SPECIFIC ARGUMENTS
|
||||
|
||||
MPICH implements a few process managers. Here we list a general set of
|
||||
arguments that many of the implementations support. More detailed options
|
||||
that are supported by a particular implementation, e.g. hydra, are
|
||||
available via:
|
||||
.nf
|
||||
mpiexec -h
|
||||
.fi
|
||||
|
||||
|
||||
Many of the implementations of process managers in MPICH support the
|
||||
following arguments to
|
||||
.I mpiexec
|
||||
@@ -168,7 +169,7 @@ corresponding
|
||||
.I \\-env
|
||||
version, except they apply to all executables, not just
|
||||
the current executable (in the case that the colon syntax is used to specify
|
||||
multiple execuables).
|
||||
multiple executables).
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
@@ -266,50 +267,6 @@ is used if
|
||||
.I MPIEXEC_PORT_RANGE
|
||||
is not set.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B MPIEXEC_PREFIX_DEFAULT
|
||||
- If this environment variable is set, output
|
||||
to standard output is prefixed by the rank in
|
||||
.I MPI_COMM_WORLD
|
||||
of the
|
||||
process and output to standard error is prefixed by the rank and the
|
||||
text
|
||||
.I (err)
|
||||
; both are followed by an angle bracket (
|
||||
.I >
|
||||
). If
|
||||
this variable is not set, there is no prefix.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B MPIEXEC_PREFIX_STDOUT
|
||||
- Set the prefix used for lines sent to standard
|
||||
output. A
|
||||
.I %d
|
||||
is replaced with the rank in
|
||||
.I MPI_COMM_WORLD
|
||||
; a
|
||||
.I %w
|
||||
is
|
||||
replaced with an indication of which
|
||||
.I MPI_COMM_WORLD
|
||||
in MPI jobs that
|
||||
involve multiple
|
||||
.I MPI_COMM_WORLD
|
||||
s (e.g., ones that use
|
||||
.I MPI_Comm_spawn
|
||||
or
|
||||
.I MPI_Comm_connect
|
||||
).
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B MPIEXEC_PREFIX_STDERR
|
||||
- Like
|
||||
.I MPIEXEC_PREFIX_STDOUT
|
||||
, but for standard error.
|
||||
.PD 1
|
||||
|
||||
.SH RETURN STATUS
|
||||
.I mpiexec
|
||||
@@ -319,3 +276,5 @@ processes created by
|
||||
\&.
|
||||
|
||||
|
||||
.SH LOCATION
|
||||
/var/tmp/qbvJ6gPnF7/mpich-4.3.0/src/pm/hydra/mansrc/mpiexec.txt
|
||||
|
||||
@@ -1,203 +0,0 @@
|
||||
.TH mpif77 1 "6/5/2019" " " "MPI"
|
||||
.SH NAME
|
||||
mpif77 \- Compiles and links MPI programs written in Fortran 77
|
||||
.SH DESCRIPTION
|
||||
This command can be used to compile and link MPI programs written in
|
||||
Fortran. It provides the options and any special libraries that are
|
||||
needed to compile and link MPI programs.
|
||||
|
||||
It is important to use this command, particularly when linking programs,
|
||||
as it provides the necessary libraries.
|
||||
|
||||
.SH COMMAND LINE ARGUMENTS
|
||||
.PD 0
|
||||
.TP
|
||||
.B -show
|
||||
- Show the commands that would be used without
|
||||
running them
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -help
|
||||
- Give short help
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -f77=name
|
||||
- Use compiler
|
||||
.I name
|
||||
instead of the default choice. Use
|
||||
this only if the compiler is compatible with the MPICH
|
||||
library (see below)
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -config=name
|
||||
- Load a configuration file for a particular compiler.
|
||||
This allows a single
|
||||
.I mpif77
|
||||
command to be used with
|
||||
multiple compilers.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -compile_info
|
||||
- Show the steps for compiling a program. This option
|
||||
can be used to see what options and include paths are
|
||||
used by mpif77.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -link_info
|
||||
- Show the steps for linking a program. This option
|
||||
can be used to see what options and libraries are used by
|
||||
mpif77.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -profile=name
|
||||
- Use the MPI profiling given by name. See below for
|
||||
details
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -echo
|
||||
- Show exactly what this program is doing.
|
||||
This option should normally not be used.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B -static
|
||||
- mpi - Use a statically compile MPI library, but shared libraries
|
||||
for all of the other dependencies.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B others
|
||||
- are passed to the compiler or linker. For example,
|
||||
.I \\-c
|
||||
causes files to be compiled,
|
||||
.I \\-g
|
||||
selects compilation with
|
||||
debugging on most systems, and
|
||||
.I \\-o name
|
||||
causes linking
|
||||
with the output executable given the name
|
||||
.I name
|
||||
\&.
|
||||
|
||||
.PD 1
|
||||
|
||||
.SH ENVIRONMENT VARIABLES
|
||||
The environment variables
|
||||
.I MPICH_F77
|
||||
may be used
|
||||
to select different Fortran compiler and linker. Note that since
|
||||
MPICH is built with a particular C and Fortran compiler, change the
|
||||
compilers used can cause problems. Use this only if you could intermix
|
||||
code compiled with the different compilers.
|
||||
|
||||
.SH COMPATIBLE COMPILERS
|
||||
The MPI library may be used with any compiler that uses the same
|
||||
lengths for basic data objects (such as
|
||||
.I long double
|
||||
) and that
|
||||
uses compatible run-time libraries. On many systems, the various
|
||||
compilers are compatible and may be used interchangably. There are
|
||||
exceptions; if you use the
|
||||
.I MPICH_F77
|
||||
environment variable or the
|
||||
.I \\-f77=name
|
||||
command-line argument to override the choice of compiler
|
||||
and encounter problems, try reconfiguring MPICH with the new compiler
|
||||
and installing MPICH in a separate location. See the installation manual
|
||||
for more details.
|
||||
|
||||
.SH EXAMPLES
|
||||
To compile a single file
|
||||
.I foo.f
|
||||
, use
|
||||
.nf
|
||||
mpif77 -c foo.f
|
||||
.fi
|
||||
|
||||
|
||||
To link the output and make an executable, use
|
||||
.nf
|
||||
mpif77 -o foo foo.o
|
||||
.fi
|
||||
|
||||
Combining compilation and linking in a single command
|
||||
.nf
|
||||
mpif77 -o foo foo.f
|
||||
.fi
|
||||
|
||||
is a convenient way to build simple programs.
|
||||
|
||||
.SH SELECTING A PROFILING LIBRARY
|
||||
The
|
||||
.I \\-profile=name
|
||||
argument allows you to specify an MPI profiling
|
||||
library to be used.
|
||||
.I name
|
||||
can have two forms:
|
||||
|
||||
.br
|
||||
A library in the same directory as the MPI library
|
||||
.br
|
||||
The name of a profile configuration file
|
||||
.br
|
||||
|
||||
If
|
||||
.I name
|
||||
is a library, then this library is included before the MPI
|
||||
library. This allows the simple use of libraries that make use of the
|
||||
MPI profiling interface and that are installed in the same directory as
|
||||
the MPI library.
|
||||
|
||||
If
|
||||
.I name.conf
|
||||
is the name of a file in the sysconfdir directory, then this
|
||||
is read and may define the following variables:
|
||||
.PD 0
|
||||
.TP
|
||||
.B PROFILE_PRELIB
|
||||
- Libraries (and paths) to include before the MPI library
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B PROFILE_POSTLIB
|
||||
- Libraries to include after the MPI library
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B PROFILE_INCPATHS
|
||||
- C preprocessor arguments for any include files
|
||||
For example, to add
|
||||
.I /usr/local/myprof/include
|
||||
to the include path and
|
||||
the library
|
||||
.I libmyprof.a
|
||||
in
|
||||
.I /usr/local/myprof/lib
|
||||
to the link step,
|
||||
you could create the file
|
||||
.I myprof.conf
|
||||
with the lines
|
||||
.PD 1
|
||||
|
||||
.nf
|
||||
PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
|
||||
PROFILE_INCPATHS="-I/usr/local/myprof/include"
|
||||
.fi
|
||||
|
||||
and place it in the sysconfdir directory (this directory is set at
|
||||
configure time when MPICH is built). Then using the command-line
|
||||
argument
|
||||
.I \\-profile=myprof
|
||||
will cause these
|
||||
definitions to be added to the relevant compile commands.
|
||||
|
||||
.SH SEE ALSO
|
||||
mpicc, mpicxx, mpifort, mpiexec
|
||||
.br
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH mpifort 1 "6/5/2019" " " "MPI"
|
||||
.TH mpifort 1 "2/3/2025" " " "MPI"
|
||||
.SH NAME
|
||||
mpifort \- Compiles and links MPI programs written in Fortran 90
|
||||
.SH DESCRIPTION
|
||||
@@ -103,7 +103,7 @@ lengths for basic data objects (such as
|
||||
.I long double
|
||||
) and that
|
||||
uses compatible run-time libraries. On many systems, the various
|
||||
compilers are compatible and may be used interchangably. There are
|
||||
compilers are compatible and may be used interchangeably. There are
|
||||
exceptions; if you use the
|
||||
.I MPICH_FC
|
||||
environment variable or the
|
||||
|
||||
Reference in New Issue
Block a user