QLogic OFED+ Host Software User Guide, Rev. B
QLogic OFED+ Host Software User Guide, Rev. B
QLogic OFED+ Host Software User Guide, Rev. B
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4–Running <strong>QLogic</strong> MPI on <strong>QLogic</strong> Adapters<br />
<strong>QLogic</strong> MPI Details<br />
NOTE:<br />
When the -np value is larger than the number of nodes in the mpihosts file<br />
times the -ppn value, mpirun cycles back through the hostsfile, assigning<br />
additional node programs per host.<br />
Typically, the number of node programs should not be larger than the number of<br />
processor cores, at least not for compute-bound programs.<br />
This option specifies the number of processes to spawn. If this option is not set,<br />
then environment variable MPI_NPROCS is checked. If MPI_NPROCS is not set,<br />
the default is to determine the number of processes based on the number of hosts<br />
in the machinefile -M or the list of hosts -H.<br />
-ppn processes-per-node<br />
This option creates up to the specified number of processes per node.<br />
Each node program is started as a process on one node. While a node program<br />
may fork child processes, the children themselves must not call MPI functions.<br />
The -distributed=on|off option has been added to mpirun. This option<br />
reduces overhead by enabling mpirun to start processes in parallel on multiple<br />
nodes. Initially, mpirun spawns one mpirun child per node from the root node,<br />
each of which in turn spawns the number of local processes for that particular<br />
node. Control the use of distributed mpirun job spawning mechanism with this<br />
option:<br />
-distributed [=on|off]<br />
The default is on. To change the default, put this option in the global<br />
mpirun.defaults file or a user-local file. See “Environment for Node<br />
Programs” on page 4-19 and “Environment Variables” on page 4-20 for details.<br />
mpirun monitors the parallel MPI job, terminating when all the node programs in<br />
that job exit normally, or if any of them terminates abnormally.<br />
Killing the mpirun program kills all the processes in the job. Use CTRL+C to kill<br />
mpirun.<br />
Console I/O in MPI Programs<br />
mpirun sends any output printed to stdout or stderr by any node program to<br />
the terminal. This output is line-buffered, so the lines output from the various node<br />
programs will be non-deterministically interleaved on the terminal. Using the -l<br />
option to mpirun will label each line with the rank of the node program where it<br />
was produced.<br />
Node programs do not normally use interactive input on stdin, and by default,<br />
stdin is bound to /dev/null. However, for applications that require standard<br />
input redirection, <strong>QLogic</strong> MPI supports two mechanisms to redirect stdin:<br />
4-18 D000046-005 B