HP-MPI User's Guide (11th Edition)

Understanding HP-MPI
MPI options
Chapter 3 161
Elan environment variables
MPI_USE_LIBELAN By default when Elan is in use, the HP-MPI library
uses Elan’s native collective operations for performing MPI_Bcast and
MPI_ Barrier operations on MPI_COMM_WORLD sized communicators.
This behavior can be changed by setting MPI_USE_LIBELAN to “false” or
“0”, in which case these operations will be implemented using
point-to-point Elan messages.
To turn off:
% export MPI_USE_LIBELAN=0
MPI_USE_LIBELAN_SUB The use of Elan’s native collective operations
may be extended to include communicators which are smaller than
MPI_COMM_WORLD by setting the MPI_USE_LIBELAN_SUB environment
variable to a positive integer. By default, this functionality is disabled
due to the fact that libelan memory resources are consumed and may
eventually cause runtime failures when too many sub-communicators
are created.
% export MPI_USE_LIBELAN_SUB=10
MPI_ELANLOCK By default, HP-MPI only provides exclusive window
locks via Elan lock when using the Elan interconnect. In order to use
HP-MPI shared window locks, the user must turn off Elan lock and use
window locks via shared memory. In this way, both exclusive and shared
locks are from shared memory. To turn off Elan locks, set MPI_ELANLOCK
to zero.
% export MPI_ELANLOCK=0
Rank Identification Environment Variables
HP-MPI sets several environment variables to let the user access
information about the MPI rank layout prior to calling MPI_Init. These
variables differ from the others in this section in that the user doesn’t set
these to provide instructions to HP-MPI; HP-MPI sets them to give
information to the user’s application.
HPMPI=1 This variable is set so that an application can
conveniently tell if it is running under HP-MPI.
MPI_NRANKS This is set to the number of ranks in the MPI job.
MPI_RANKID This is set to the rank number of the current process.