InfiniPath User Guide
InfiniPath User Guide Version
Index
Page
Table of Contents
Section Using InfiniPath MPI
Appendix a Benchmark Programs
InfiniPath User Guide Version
InfiniPath Software Structure
Appendix D Recommended Reading
InfiniPath User Guide Version IB6054601-00 D
How this Guide is Organized
Who Should Read this Guide
Overview
Switches
Interoperability
Appendix E Glossary of technical terms
PathScale-QLogic Adapter Model Numbers
What’s New in this Release
InfiniPath/OpenFabrics Supported Distributions and Kernels
Supported Distributions and Kernels
Software Components
Documentation and Technical Support
Conventions Used in this Document
This Guide uses these typographical conventions
InfiniPath product documentation includes
Introduction Documentation and Technical Support
Page
Introduction
Installed Layout
Memory Footprint
MPI include files are
Documentation can be found
Adapter Required Component Optional Memory Footprint Comment
Memory Footprint, 331 MB per Node
Configuration and Startup Bios Settings
InfiniPath Driver Software Configuration
InfiniPath Driver Startup
InfiniPath Driver Filesystem
Layered Ethernet Driver
Subnet Management Agent
Ipathether Configuration on Fedora and RHEL4
$ ifconfig -a $ ls /sys/class/net
Create or edit the following file as root
ONBOOT=YES
Ipathether Configuration on Suse 9.3, Sles 9, and Sles
Guid can also be returned by running
Determine the MAC address that will be used
If this file does not exist, skip to Step
# lsmod grep -q ipathether modprobe ipathether
Add the following lines to the file
Configuring the IPoIB Network Interface
OpenFabrics Configuration and Startup
# ifup eth2 # ifconfig eth2
# ifconfig ib0 10.1.17.3 netmask 0xffffff00
OpenSM
To enable the driver, use the command as root
Further Information on Configuring and Loading Drivers
Starting and Stopping the InfiniPath Software
You can stop it again like this
# /sbin/chkconfig --list opensmd grep -w on
# chkconfig infinipath off
# /etc/init.d/infinipath start stop restart
$ /sbin/lsmod grep ipathether
Software Status
Configuring ssh and sshd Using shosts.equiv
Change the file to mode 600 when finished editing
Process Limitation with ssh
Remove Unneeded Services
Performance and Management Tips
# killall -HUP sshd
Disable Powersaving Features
For Suse 9.3 and 10.0 run this command as root
Balanced Processor Power
SDP Module Parameters for Best Performance
CPU Affinity
Homogeneous Nodes
Hyper-Threading
Run the shell script ipathcontrol as follows
Ipathbughelper
Option -qwill query and -qawill query all
Non-QLogic built
For non-QLogic RPMs, it will look like
Command strings can also be used. Here is a sample
Customer Acceptance Utility
Will produce output like this
Displays help messages giving defined usage
Page
InfiniPath MPI
Other MPI Implementations
Getting Started with MPI
There is more information on the mpihosts file in section
An Example C Program
$ cp /usr/share/mpich/examples/basic
$ mpicc -o cpi cpi.c
Run it with
Examples Using Other Languages
$ mpif77 -o fpi3 fpi3.f
$ mpirun -np 2 -m mpihosts ./fpi3
Run it
Configuring MPI Programs for InfiniPath MPI
InfiniPath MPI Details
Configuring for ssh Using ssh-agent
This tells ssh that your key pair should let you
Edit ~/.ssh/config so that it reads like this
Shows how to compile a program
Gets verbose output of all the commands in the script
Compiling and Linking
Provides help
To use gcc for compiling and linking C++ programs use
To Use Another Compiler
To use gcc for compiling and linking Fortran77 programs use
To use PGI for Fortran90/Fortran95 programs, use
Compiler and Linker Variables
Cross-compilation Issues
$ mpif90 -f90=ifort $ mpif95 -f95=ifort
$ mpif90 -f90=pgf90 -show pi3f90.f90 -o pi3f90
Running MPI Programs
Mpihosts File
Environment for Node Programs
Console I/O in MPI Programs
$ mpirun -np n -m mpihosts -rcfile mpirunrc program
Environment for Multiple Versions of InfiniPath or MPI
Number of processes to spawn
Multiprocessor Nodes
Create up to specified number of processes per node
$ mpirun -np n -m mpihosts -ppn p program-name
Print mpirun help message. Default Off
Print MPI version. Default Off
Startup script for setting environment on nodes Default
Run each process in an xterm window. Default Off
Sets the working directory for the node program
Disable-mpi-progress-check
Using Other MPI Implementations
MPI Over uDAPL
# modprobe rdmacm # modprobe rdmaucm
$ mpdboot -f hostsfile
Using MPD
MPD Description
File I/O in MPI
InfiniPath MPI and Hybrid MPI/OpenMP Applications
MPI-IO with Romio
MPI Errors
Using Debuggers
Debugging MPI Programs
InfiniPath MPI Limitations
No ports available on /dev/ipath
Benchmark 1 Measuring MPI Latency Between Two Nodes
Benchmark Programs
$ mpirun -np 2 -ppn 1 -m mpihosts osulatency
Benchmark 2 Measuring MPI Bandwidth Between Two Nodes
Benchmark 3 Messaging Rate Microbenchmarks
$ mpirun -np 8 ./mpimultibw
Benchmark 4 Measuring MPI Latency in Host Rings
Might produce output like this
$ mpirun -np 4 -ppn 1 -m mpihosts mpilatency 100
Page
Allocating Resources
Batch Queuing Script
$ batchmpirun -np n mympiprogram
Generating the mpihosts File
Simple Process Management
Clean Termination of MPI Processes
# /sbin/fuser -v /dev/ipath
# lsof /dev/ipath
Lock Enough Memory on Nodes When Using Slurm
# /sbin/fuser -k /dev/ipath
# ulimit -l
Mechanical and Electrical Considerations
Troubleshooting InfiniPath Adapter Installation
Some HTX Motherboards May Need 2 or More CPUs in Use
Table C-1. LED Link and Data Indicators
Mtrr Mapping and Write Combining
Incorrect Mtrr Mapping
$ ipathpkttest -B
Issue with SuperMicro H8DCE-HTe and QHT7040
Change Setting for Mapping Memory
Incorrect Mtrr Mapping Causes Unexpected Low Bandwidth
To check your bandwidth try
Install Warning with RHEL4U2
Software Installation Issues
Mpirun Installation Requires 32-bit Support
OpenFabrics Dependencies
Remove the InfiniPath kernel components with the command
Installing Newer Drivers from Other Distributions
Check your distribution for the exact RPM name
$ rpm -e infinipath-kernel --nodeps
Kernel and Initialization Issues
Installing for Your Distribution
Reload all modules by using this command as root
These are used for SLES, SUSE, and Fedora
Pcimsiquirk
Kernel Needs CONFIGPCIMSI=y
InfiniPath Interrupts Not Working
Driver Load Fails Due to Unsupported Kernel
Normal output will like similar to this
$ grep ibipath /proc/interrupts
$ grep -i acpi /proc/cmdline
OpenFabrics Load Errors If ibipath Driver Load Fails
InfiniPath ibipath Initialization Failure
MPI Job Failures Due to Initialization Problems
Load and Configure IPoIB Before Loading SDP
OpenFabrics Issues
System Administration Troubleshooting
Stop OpenSM Before Stopping/Restarting InfiniPath
Mvapich Performance Issues
Performance Issues
InfiniPath MPI Troubleshooting
Broken Intermediate Link
$ mpirun-ipath-ssh -np 2 -ppn 1 -m ~/tmp/idev osulatency
$ mpirun
Compiler Can’t Find Include, Module or Library Files
Compiler/Linker Mismatch
$ export MPICHCC=gcc $ mpicc mpiworld.c
$ mpicc myprogram.c
Specifying the Run-time Library Path
Compiling on Development Nodes
$ mpicc myprogram.c -I/path/to/devel/include
$ mpif90 myprogramf90.f90 -I/path/to/devel/include
# /etc/ldconfig
Run Time Errors With Different MPI Implementations
Troubleshooting InfiniPath MPI Troubleshooting
Using MPI.mod Files
When compiling, use descriptive names for the object files
HP-MPI mpirun and executable used together
Extending MPI Modules
Troubleshooting InfiniPath MPI Troubleshooting
Error Messages Generated by mpirun
Messages from the InfiniPath Library
$ mpirun -m ~/tmp/sm -np 2 -mpilatency 1000
Troubleshooting InfiniPath MPI Troubleshooting
MPI Messages
Following indicates an unknown host
There is no route to a valid host
$ mpirun -np 2 -m ~/tmp/q mpilatency 100
There is no route to any host
One program on one node died
$ mpirun -np 2 -m ~/tmp/q mpilatency 100000
$ mpirun -np ~/tmp/q -q 60 mpilatency 1000000
Driver and Link Error Messages Reported by MPI Programs
MPI Stats
Useful Programs and Files for Debugging
These two commands perform the same functions
Check Cluster Homogeneity with ipathcheckout
Restarting InfiniPath
Shell script that gathers status
Summary of Useful Programs and Files
Modprobe
Example contents are
Ibstatus
Ipathcheckout
Ipathcontrol
Ipathbug-helper
Option-qwill query and --qawill query all
To check the contents of an RPM, use these commands
# lsmod egrep ’ipathibrdmafindex’
$ mpirun -np 2 -m /tmp/id1 -d0x101 mpilatency 1
Table C-3. statusstr File
Example contents for QLogic-built drivers
Command strings can also be used. Its format is as follows
Books for Learning MPI Programming
References for MPI
Reference and Source for Slurm
InfiniBand OpenFabrics
Rocks
Clusters
Glossary
GID
LID
Mtrr
SDP
Glossary IB6054601-00 D
Index
OpenFabrics Configuration
Configuration of on Suse and Sles