Product specifications
Table Of Contents
- Table of Contents
- 1 Introduction
- 2 Feature Overview
- 3 Step-by-Step Cluster Setup and MPI Usage Checklists
- 4 InfiniPath Cluster Setup and Administration
- Introduction
- Installed Layout
- Memory Footprint
- BIOS Settings
- InfiniPath and OpenFabrics Driver Overview
- OpenFabrics Drivers and Services Configuration and Startup
- Other Configuration: Changing the MTU Size
- Managing the InfiniPath Driver
- More Information on Configuring and Loading Drivers
- Performance Settings and Management Tips
- Host Environment Setup for MPI
- Checking Cluster and Software Status
- 5 Using QLogic MPI
- Introduction
- Getting Started with MPI
- QLogic MPI Details
- Use Wrapper Scripts for Compiling and Linking
- Configuring MPI Programs for QLogic MPI
- To Use Another Compiler
- Process Allocation
- mpihosts File Details
- Using mpirun
- Console I/O in MPI Programs
- Environment for Node Programs
- Environment Variables
- Running Multiple Versions of InfiniPath or MPI
- Job Blocking in Case of Temporary InfiniBand Link Failures
- Performance Tuning
- MPD
- QLogic MPI and Hybrid MPI/OpenMP Applications
- Debugging MPI Programs
- QLogic MPI Limitations
- 6 Using Other MPIs
- A mpirun Options Summary
- B Benchmark Programs
- C Integration with a Batch Queuing System
- D Troubleshooting
- Using LEDs to Check the State of the Adapter
- BIOS Settings
- Kernel and Initialization Issues
- OpenFabrics and InfiniPath Issues
- Stop OpenSM Before Stopping/Restarting InfiniPath
- Manual Shutdown or Restart May Hang if NFS in Use
- Load and Configure IPoIB Before Loading SDP
- Set $IBPATH for OpenFabrics Scripts
- ifconfig Does Not Display Hardware Address Properly on RHEL4
- SDP Module Not Loading
- ibsrpdm Command Hangs when Two Host Channel Adapters are Installed but Only Unit 1 is Connected to the Switch
- Outdated ipath_ether Configuration Setup Generates Error
- System Administration Troubleshooting
- Performance Issues
- QLogic MPI Troubleshooting
- Mixed Releases of MPI RPMs
- Missing mpirun Executable
- Resolving Hostname with Multi-Homed Head Node
- Cross-Compilation Issues
- Compiler/Linker Mismatch
- Compiler Cannot Find Include, Module, or Library Files
- Problem with Shell Special Characters and Wrapper Scripts
- Run Time Errors with Different MPI Implementations
- Process Limitation with ssh
- Number of Processes Exceeds ulimit for Number of Open Files
- Using MPI.mod Files
- Extending MPI Modules
- Lock Enough Memory on Nodes When Using a Batch Queuing System
- Error Creating Shared Memory Object
- gdb Gets SIG32 Signal Under mpirun -debug with the PSM Receive Progress Thread Enabled
- General Error Messages
- Error Messages Generated by mpirun
- MPI Stats
- E Write Combining
- F Useful Programs and Files
- G Recommended Reading
- Glossary
- Index

5–Using QLogic MPI
QLogic MPI Details
IB6054601-00 H 5-17
A
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 MPI Programs
mpirun sends any output printed to stdout or stderr by any node program to
the terminal. This output is line-buffered, so the lines output from the various node
programs will be non-deterministically interleaved on the terminal. Using the -l
option to mpirun will label each line with the rank of the node program from which
it was produced.
Node programs do not normally use interactive input on stdin, and by default,
stdin is bound to /dev/null. However, for applications that require standard
input redirection, QLogic MPI supports two mechanisms to redirect stdin:
When mpirun is run from the same node as MPI rank 0, all input piped to
the mpirun command is redirected to rank 0.
When mpirun is not run from the same node as MPI rank 0, or if the input
must be redirected to all or specific MPI processes, the -stdin option can
redirect a file as standard input to all nodes (or to a particular node) as
specified by the -stdin-target option.
Environment for Node Programs
InfiniPath-related environment variables are propagated to node programs. These
include environment variables that begin with the prefix IPATH_, PSM_, MPI or
LD_. Some other variables (such as HOME) are set or propagated by ssh(1).
mpirun checks for these environment variables in the shell where it is invoked,
and then propagates them correctly. The environment on each node is whatever it
would be for the user’s login via ssh, unless you are using a Multi-Purpose
Daemon (MPD) (see “MPD” on page 5-23).
NOTE:
The environment variable LD_BIND_NOW is not supported for QLogic MPI
programs. Not all symbols referenced in the shared libraries can be resolved
on all installations. (They provide a variety of compatible behaviors for
different compilers, etc.) Therefore, the libraries are built to run in lazy
binding mode; the dynamic linker evaluates and binds to symbols only when
needed by the application in a given runtime environment.