27.12.2014 Views

QLogic OFED+ Host Software User Guide, Rev. B

QLogic OFED+ Host Software User Guide, Rev. B

QLogic OFED+ Host Software User Guide, Rev. B

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!