HP-MPI Version 2.3.1 for Linux Release Note
Table Of Contents
- HP-MPI V2.3.1 for Linux Release Note
- Table of Contents
- 1 Information About This Release
- 2 New or Changed Features in V2.3.1
- 3 New or Changed Features in V2.3
- 3.1 Options Supported Only on HP Hardware
- 3.2 System Check
- 3.3 Default Message Size Changed For -ndd
- 3.4 MPICH2 Compatibility
- 3.5 Support for Large Messages
- 3.6 Redundant License Servers
- 3.7 License Release/Regain on Suspend/Resume
- 3.8 Expanded Functionality for -ha
- 3.8.1 Support for High Availability on InfiniBand Verbs
- 3.8.2 Highly Available Infrastructure (-ha:infra)
- 3.8.3 Using MPI_Comm_connect and MPI_Comm_accept
- 3.8.4 Using MPI_Comm_disconnect
- 3.8.5 Instrumentation and High Availability Mode
- 3.8.6 Failure Recover (-ha:recover)
- 3.8.7 Network High Availability (-ha:net)
- 3.8.8 Failure Detection (-ha:detect)
- 3.8.9 Clarification of the Functionality of Completion Routines in High Availability Mode
- 3.9 Enhanced InfiniBand Support for Dynamic Processes
- 3.10 Singleton Launching
- 3.11 Using the -stdio=files Option
- 3.12 Using the -stdio=none Option
- 3.13 Expanded Lightweight Instrumentation
- 3.14 The api option to MPI_INSTR
- 3.15 New mpirun option -xrc
- 4 Known Issues and Workarounds
- 4.1 Running on iWarp Hardware
- 4.2 Running with Chelsio uDAPL
- 4.3 Mapping Ranks to a CPU
- 4.4 OFED Firmware
- 4.5 Spawn on Remote Nodes
- 4.6 Default Interconnect for -ha Option
- 4.7 Linking Without Compiler Wrappers
- 4.8 Locating the Instrumentation Output File
- 4.9 Using the ScaLAPACK Library
- 4.10 Increasing Shared Memory Segment Size
- 4.11 Using MPI_FLUSH_FCACHE
- 4.12 Using MPI_REMSH
- 4.13 Increasing Pinned Memory
- 4.14 Disabling Fork Safety
- 4.15 Using Fork with OFED
- 4.16 Memory Pinning with OFED 1.2
- 4.17 Upgrading to OFED 1.2
- 4.18 Increasing the nofile Limit
- 4.19 Using appfiles on HP XC Quadrics
- 4.20 Using MPI_Bcast on Quadrics
- 4.21 MPI_Issend Call Limitation on Myrinet MX
- 4.22 Terminating Shells
- 4.23 Disabling Interval Timer Conflicts
- 4.24 libpthread Dependency
- 4.25 Fortran Calls Wrappers
- 4.26 Bindings for C++ and Fortran 90
- 4.27 Using HP Caliper
- 4.28 Using -tv
- 4.29 Extended Collectives with Lightweight Instrumentation
- 4.30 Using -ha with Diagnostic Library
- 4.31 Using MPICH with Diagnostic Library
- 4.32 Using -ha with MPICH
- 4.33 Using MPI-2 with Diagnostic Library
- 4.34 Quadrics Memory Leak
- 5 Installation Information
- 6 Licensing Information
- 7 Additional Product Information
To increase the maximum allowed shared memory segment size, enter the following
command as root:
# /sbin/sysctl -w kernel.shmmax=<size in bytes>
To make changes to the kernel.shmmax setting persist across a reboot, add the following
line to the /etc/sysctl.conf file:
kernel.shmmax=<size in bytes>
4.11 Using MPI_FLUSH_FCACHE
The MPI_FLUSH_FCACHE environment variable is silently ignored if the -cpu_bind
option is not specified. This limitation will be removed in a future release. See the
mpienv(1) manpage for more information.
4.12 Using MPI_REMSH
HP-MPI uses the $MPI_REMSH command to launch on remote machines. The commands
constructed are of the general form "$MPI_REMSH <host> -n <command>". If a
remote shell command is desired for which the -n in the above syntax is not appropriate,
you can use a shell script such as the following for the MPI_REMSH command:
#!/bin/sh
host="$1"
shift
shift
ssh $host "$@"
4.13 Increasing Pinned Memory
InfiniBand requires pages to be pinned (locked in memory) for message passing. This
can become a problem when a child process is forked and a pinned page exists in both
the parent's and child's address spaces. Normally a copy-on-write would occur when
one of the processes touches memory on a shared page, and the virtual to physical
mapping would change for that process. In the context of InfiniBand, such a change in
the mapping results in data corruption when an RDMA sends data to the original
physical address.
OFED 1.2 and later (with a fork safety mode enabled) avoids this problem by not using
copy-on-write behavior during a fork for pinned pages. Instead, any access to these
pages by the child process results in a segmentation violation of the child, and the
parent's mapping remains unchanged so that the parent can continue running normally
with no data corruption.
HP-MPI turns on this option by default when the IBV or uDAPL protocols are being
used. If the fork safety mode is not desired, you can turn it off with the MPI environment
variable MPI_IBV_NO_FORK_SAFE=1.
By setting the environment variable MPI_PAGE_ALIGN_MEM=1, HP-MPI page-aligns
and page-pads libc memory allocation requests that are large enough to be pinned
4.11 Using MPI_FLUSH_FCACHE 29