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

IB6054601-00 H 5-1
5 Using QLogic MPI
This section provides information on using the QLogic Message-Passing Interface
(MPI). Examples are provided for setting up the user environment, and for
compiling and running MPI programs.
Introduction
The MPI standard is a message-passing library or collection of routines used in
distributed-memory parallel programming. It is used in data exchange and task
synchronization between processes. The goal of MPI is to provide portability and
efficient implementation across different platforms and architectures.
QLogic MPI
QLogic’s implementation of the MPI standard is derived from the MPICH
reference implementation version 1.2.7. The QLogic MPI (InfiniPath) libraries
have been highly tuned for the QLogic interconnect, and will not run over other
interconnects.
QLogic MPI is an implementation of the original MPI 1.2 standard. The MPI-2
standard provides several enhancements of the original standard. Of the MPI-2
features, QLogic MPI includes only the MPI-IO features implemented in ROMIO
version 126 and the generalized MPI_All to allow communication exchange.
The QLogic MPI implementation in this release supports hybrid MPI/OpenMP and
other multi-threaded programs, as long as only one thread uses MPI. For more
information, see “QLogic MPI and Hybrid MPI/OpenMP Applications” on
page 5-24.
PSM
The PSM InfiniPath Messaging API, or PSM API, is QLogic's low-level user-level
communications interface for the InfiniPath family of products. Other than using
some environment variables with the PSM prefix, MPI users typically need not
interact directly with PSM. The PSM environment variables apply to other MPI
implementations as long as the environment with the PSM variables is correctly
forwarded. See “Environment Variables” on page 5-18 for a summary of the
commonly used environment variables.
For more information on PSM, email QLogic at support@qlogic.com
.