If you would like to see the effects of using the TCP/IP protocol over a higher-speed system interconnect, use the -TCPoption and omit the -subnetoption. Generally, performance as measured by Pallas will be roughly 40% to 50% slower using TCP/IP over Elan, GM, or IT-API.

8.4.2 Global Environment Variable Settings on the mpirun Command Line

Environment variables can be set globally on the mpirun command line:

$ mpirun -e MPI_FLAGS=y -f appfile

In the above example, if some MPI_FLAGS setting was specified in the application file, then the global setting on the command line would override the setting in the application file. To add to an environment variable rather than replacing it, use the following command:

$ mpirun -e MPI_FLAGS=%MPI_FLAGS,y -f appfile

The percent sign (%) is appended to the environment variable. For example, %MPI_FLAGS.

In the above example, if the application file (appfile) specified MPI_FLAGS=z, then the resulting MPI_FLAGS seen by the application would be z,y.

8.5 32-Bit Builds on XC4000

HP-MPI on HP XC provides support for 32-bit builds on XC4000 systems. Options provided are:

$ mpicc [-mpi32-mpi64] ...

$ mpif90 [-mpi32-mpi64] ...

The [-mpi32-mpi64]option tells the real compiler where to find the correct 32-bit or 64-bit MPI header files and library. They are not passed down to the real compiler. You still need to specify the other necessary compiler options to generate 32-bit or 64-bit code.

For example, to use gcc to generate 32-bit code:

$ mpicc -mpi32 ... -m32 ...

-mpi64is the default.

8.6 Truncated Messages

An application will continue to run normally after receiving truncated messages if the MPI_Errhandler is set to MPI_ERRORS_RETURN.

The receive call returns an error class of MPI_ERR_TRUNCATE.

The count field in the resulting status argument represents the amount of data received by the receiver.

The receive buffer will only contain as much data as was specified in the receive call.

8.7Allowing Windows to Use Exclusive Locks

An environment variable called MPI_ELANLOCK is provided with this release of HP-MPI on HP XC. By default, MPI only provides exclusive window locks by means of Elan lock when using the Elan system interconnect.

In order to use MPI shared window locks, you must turn off Elan lock and use window locks by means of shared memory. In this way, both exclusive and shared locks are from shared memory.

To turn off Elan locks, enter the following command:

$ setenv MPI_ELANLOCK=0

8-8Using HP-MPI