beautypg.com

5 32 bit builds on xc4000, 6 truncated messages, 7 allowing windows to use exclusive locks – HP XC System 2.x Software User Manual

Page 118: Section 8.5), Section 8.6), Section 8.7)

background image

If you would like to see the effects of using the TCP/IP protocol over a higher-speed system
interconnect, use the

-TCP

option and omit the

-subnet

option. 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 ...

-mpi64

is 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.7 Allowing 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-8

Using HP-MPI