HP-MPI Version 2.3.1 for Linux Release Note

Table Of Contents
NOTE: Do not use MPICH compatibility mode to produce a single executable to run
under both MPICH and HP-MPI.
For more information on MPICH compatibility, see the HP-MPI User's Guide.
3.5 Support for Large Messages
The current MPI standard allows the data transferred using standard API calls to be
greater than 2 GB. For example, if you call MPI_Send() that contains a count of 1024
elements that each have a size of 2049 KB, the resulting message size in bytes is greater
than what could be stored in a signed 32-bit integer. In some cases, previous versions
of HP-MPI handled these incorrectly. HP-MPI V2.3 has been updated to fix these
deficiencies.
Additionally, some users working with extremely large data sets on 64-bit architectures
need to explicitly pass a count that is greater than the size of a 32-bit integer. The current
MPI-2.1 standard does not accommodate this option. Until the standards committee
releases a new API that does, HP-MPI V2.3 provides new APIs to handle large message
counts. These new APIs are extensions to the MPI-2.1 standard and will not be portable
across other MPI implementations. These new APIs contain a trailing L. For example,
to pass a 10 GB count to an MPI send operation, MPI_SendL() must be called, not
MPI_Send().
IMPORTANT: These interfaces will be deprecated when official APIs are included in
the MPI standard.
The other API through which large integer counts can be passed into HP-MPI calls is
the Fortran autodouble -i8 interface (which is also nonstandard). This interface has
been supported in previous HP-MPI releases, but historically had the limitation that
the values passed in must still fit in 32-bit integers because the large integer input
arguments were cast down to 32-bit values. For HP-MPI V2.3, that restriction is removed.
To enable HP-MPI support for these extensions to the MPI-2.1 standard,
-non-standard-ext must be added to the command line of the HP-MPI compiler
wrappers (mpiCC, mpicc, mpif90, mpif77), as in the following example:
% /opt/hpmpi/bin/mpicc -non-standard-ext large_count_test.c
The -non-standard-ext flag must be passed to the compiler wrapper during the
link step of building an executable.
For a complete list of the new large message interfaces supported, see Appendix A of
the HP-MPI V2.3 Release Note at:
http://docs.hp.com/en/T1919-90017/T1919-90017.pdf
3.5 Support for Large Messages 15