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-11
A
When running a job in a batch system environment where multiple jobs may be
running simultaneously, it is useful to restrict the number of InfiniPath contexts that
are made available on each node of an MPI. See “Restricting InfiniPath Hardware
Contexts in a Batch Environment” on page 5-12.
Errors that may occur with context sharing are covered in “Context Sharing Error
Messages” on page 5-13.
There are multiple ways of specifying how processes are allocated. You can use
the mpihosts file, the -np and -ppn options with mpirun, and the
MPI_NPROCS and PSM_SHAREDCONTEXTS_MAX environment variables. How
these all are set are covered later in this document.
InfiniPath Hardware Contexts on the QLE7240 and QLE7280
On the QLE7240 and QLE7280 adapters, adapter receive resources are statically
partitioned across the InfiniPath contexts according to the number of InfiniPath
contexts enabled. The following defaults are automatically set according to the
number of online CPUs in the node:
For four or less CPUs: 5 (4 + 1 for kernel)
For five to eight CPUs: 9 (8 + 1 for kernel)
For nine or more CPUs: 17 (16 + 1 for kernel)
Performance can be improved in some cases by disabling InfiniPath hardware
contexts when they are not required so that the resources can be partitioned more
effectively.
To disable this behavior, explicitly configure for the number you want to use with
the cfgports module parameter in the file /etc/modprobe.conf (or
/etc/modprobe.conf.local on SLES).
The maximum that can be set is 17 (16 + 1 for the kernel).
The driver must be restarted if this default is changed. See “Managing the
InfiniPath Driver” on page 4-19.
NOTE:
In rare cases, setting contexts automatically on the QLE7240 and QLE7280
can lead to sub-optimal performance where one or more InfiniPath hardware
contexts have been disabled and a job is run that requires software context
sharing. Since the algorithm ensures that there is at least one InfiniPath
context per online CPU, this case occurs only if the CPUs are
over-subscribed with processes (which is not normally recommended). In
this case, it is best to override the default to use as many InfiniPath contexts
as are available, which minimizes the amount of software context sharing
required.