HP-MPI Version 2.2 for HP-UX Release Note

HP-MPI V2.2 for HP-UX Release Note
What’s in This Version
9
Description of Features
The following section provides brief descriptions of the new features included in this release.
For more information on HP-MPI, refer to the HP-MPI User’s Guide available at
http://docs.hp.com.
C++ bindings
HP-MPI 2.2 supports C++ bindings as described in the MPI-2 Standard. If compiling and
linking with the mpiCC command, no additional work is needed to include and use the
bindings. You can include either mpi.h or mpiCC.h in your C++ source files.
The bindings provided by HP-MPI are an interface class, calling the equivalent C bindings. To
profile your application, users should profile the equivalent C bindings.
If you build without the mpiCC command, you will need to include -lmpiCC to resolve C++
references.
If you want to use an alternate libmpiCC.a with mpiCC, use the -mpiCClib <LIBRARY>
option. A 'default' g++ ABI compatible library is provided for each architecture except Alpha.
Non-g++ ABI compatible C++ compilers The C++ library provided by HP-MPI,
libmpiCC.a, was built with aCC.
If you are using a C++ compiler which is not g++ ABI compatible, you must build your own
libmpiCC.a and include this in your build command. The sources and Makefiles to build an
appropriate library are located in /opt/mpi/lib/hpux64/mpiCCsrc/* /scratch/libmpicc.
To build your private version of libmpiCC.a and include it in the builds using mpiCC:
1. Copy the files from /opt/mpi/lib/hpux64/mpiCCsrc/* /scratch/libmpicc to a
working directory:
% cp /opt/mpi/lib/hpux64/mpiCCsrc/* /scratch/libmpicc
% cd /scratch/libmpicc
2. Edit the Makefile and define your CXX and MPI_ROOT to the correct locations.
3. Perform the make. This should build libmpiCC.a in your working directory:
% make
g++ -c intercepts.cc -I/opt/hpmpi/include -DHPMP_BUILD_CXXBINDING
g++ -c mpicxx.cc -I/opt/hpmpi/include -DHPMP_BUILD_CXXBINDING
ar rcs libmpiCC.a intercepts.o mpicxx.o
%
4. Link your application with the -mpiCClib <LIBRARY> option, using the library you
created.