HP-MPI Version 2.2.5.1 for Linux Release Note

HP-MPI V2.2.5.1 for Linux Release Note
Known Problems and Workarounds
16
When a background HP-MPI job is run and the shell is terminated, the job may or may
not continue depending on the actual shell used. For /bin/bash, the job is killed. For
/bin/sh and /bin/ksh, the job continues. If 'nohup' is used when launching the job, only
background ksh jobs can continue. This behavior may vary depending on your system.
Interval timer functionality used by HP-MPI on HP XC can conflict with gprof data
collection phase requirements. Set the following two environment variables to
workaround this issue.
% export MPI_FLAGS=s0
% export GMON_OUT_PREFIX=/tmp/
app_name
In the above example, setting MPI_FLAGS disables HP-MPI’s conflicting use of interval
timers. Refer to the mpienv(1) man page for descriptions of MPI_FLAG settings. Because
this setting also disables message progression monitoring, it should be used with
well-behaved programs only.
In the above example, the second setting causes gprof data collection files to be named
/tmp/app_name.PID (where PID is the process ID number). The prefix is set arbitrarily
and makes the file unique in cases where the same PID is given on different nodes.
Setting LD_ASSUME_KERNEL to 2.4.1 will cause HP-MPI to fail on 32-bit applications run
on Opteron or EM64T with RedHat 3.0. HP-MPI does not recommend setting
LD_ASSUME_KERNEL for 32-bit applications.
32-bit applications are not supported on Mellanox InfiniBand (VAPI) when running on
either Opteron AMD64 or Intel EM64T machines.
32-bit applications wishing to use Mellanox InfiniBand (VAPI) on x86_64 systems should
consider using Sockets Direct Protocol (SDP). Set the LD_PRELOAD environment variable
before running an executable that uses sockets:
% setenv LD_PRELOAD /usr/voltaire/lib/sock-redirect.so
This will automatically and transparently convert to the use of SDP.
The HP-MPI 2.2.5.1 library for Linux contains a dependency on pthread_self, which
requires libpthread to be included on the link line if the application is linked -static.
The mpicc, mpif90, etc. compiler wrapper scripts automatically add the necessary
-lpthread, but manually linked applications need to explicitly add -lpthread.
Profiling routines built for C calls will not cause the corresponding Fortran calls to be
wrapped automatically. In order to profile Fortran routines, separate wrappers need to be
written for the Fortran calls.
Calling MPI from Fortran 90 or C++ programs