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