4
–
Running MPI on QLogic Adapters
Open MPI
4-14
IB0054606-02 A
This option spawns
n
instances of
program-name
.
These instances are called
node programs
.
Generally,
mpirun
tries to distribute the specified number of processes evenly
among the nodes listed in the
hostfile
. However, if the number of processes
exceeds the number of nodes listed in the
hostfile
, then some nodes will be
assigned more than one instance of the program.
Another command line option,
-npernode
, instructs
mpirun
to assign a fixed
number
p
of node programs (processes) to each node, as it distributes
n
instances among the nodes:
$
mpirun -np
n
-npernode
p
-hostfile
mpihosts
program-name
This option overrides the
slots=
process_count
specifications, if any, in the
lines of the
mpihosts
file. As a general rule,
mpirun
distributes the
n
node
programs among the nodes without exceeding, on any node, the maximum
number of instances specified by the
slots=
process_count
option. The
value of the
slots=
process_count
option is specified by either the
-npernode
command line option or in the
mpihosts
file.
Typically, the number of node programs should not be larger than the number of
processor cores, at least not for compute-bound programs.
This option specifies the number of processes to spawn. If this option is not set,
then environment variable
MPI_NPROCS
is checked. If
MPI_NPROCS
is not set,
the default is to determine the number of processes based on the number of hosts
in the hostfile or the list of hosts
-H
or
--host
.
-npernode
processes-per-node
This option creates up to the specified number of processes per node.
Each node program is started as a process on one node. While a node program
may fork child processes, the children themselves must not call MPI functions.
There are many more
mpirun
options for scheduling where the processes get
assigned to nodes. See
man mpirun
for details.
mpirun
monitors the parallel MPI job, terminating when all the node programs in
that job exit normally, or if any of them terminates abnormally.
Killing the
mpirun
program kills all the processes in the job. Use CTRL+C to kill
mpirun
.
Console I/O in Open MPI Programs
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
inherits standard input from
mpirun
.
Summary of Contents for OFED+ Host
Page 1: ...IB0054606 02 A OFED Host Software Release 1 5 4 User Guide...
Page 14: ...xiv IB0054606 02 A OFED Host Software Release 1 5 4 User Guide...
Page 22: ...1 Introduction Interoperability 1 4 IB0054606 02 A...
Page 96: ...4 Running MPI on QLogic Adapters Debugging MPI Programs 4 24 IB0054606 02 A...
Page 140: ...6 SHMEM Description and Configuration SHMEM Benchmark Programs 6 32 IB0054606 02 A...
Page 148: ...8 Dispersive Routing 8 4 IB0054606 02 A...
Page 164: ...9 gPXE HTTP Boot Setup 9 16 IB0054606 02 A...
Page 176: ...A Benchmark Programs Benchmark 3 Messaging Rate Microbenchmarks A 12 IB0054606 02 A...
Page 202: ...B SRP Configuration OFED SRP Configuration B 26 IB0054606 02 A Notes...
Page 206: ...C Integration with a Batch Queuing System Clean up PSM Shared Memory Files C 4 IB0054606 02 A...
Page 238: ...E ULP Troubleshooting Troubleshooting SRP Issues E 20 IB0054606 02 A...
Page 242: ...F Write Combining Verify Write Combining is Working F 4 IB0054606 02 A Notes...
Page 280: ...G Commands and Files Summary of Configuration Files G 38 IB0054606 02 A...
Page 283: ......