Parallel Programming Guide for HP-UX Systems

MPI
Running
Chapter 2 31
turning them off. This is accomplished by setting the time period of the s
option in the MPI_FLAGS environment variable (for example: s600). Time
is in seconds.
You can use the s[a][p]# option with the thread-compliant library as well
as the standard non thread-compliant library. Setting s[a][p]# for the
thread-compliant library has the same effect as setting MPI_MT_FLAGS=ct
when you use a value greater than 0 for #. The default value for the
thread-compliant library is sp0. MPI_MT_FLAGS=ct takes priority over the
default MPI_FLAGS=sp0.
Refer to “MPI_MT_FLAGS” on page 34 and “Thread-compliant library” on
page 21 for additional information.
Set MPI_FLAGS=sa1 to guarantee that MPI_Cancel works for canceling
sends.
y[
#
]
Enables spin-yield logic.
#
is the spin value and is an integer between zero
and 10,000. The spin value specifies the number of milliseconds a process
should block waiting for a message before yielding the CPU to another
process.
How you apply spin-yield logic depends on how well synchronized your
processes are. For example, if you have a process that wastes CPU time
blocked, waiting for messages, you can use spin-yield to ensure that the
process relinquishes the CPU to other processes. Do this in your appfile, by
setting y[#] to y0 for the process in question. This specifies zero
milliseconds of spin (that is, immediate yield).
Specifying y without a spin value is equivalent to MPI_FLAGS=y10000.
If the time a process is blocked waiting for messages is short, you can
possibly improve performance by setting a spin value (between 0 and
10,000,) that ensures the process does not relinquish the CPU until after the
message is received, thereby reducing latency.
The system treats a nonzero spin value as a recommendation only. It does
not guarantee that the value you specify is used.
Refer to “Appfiles” on page 42 for details about how to create an appfile and
assign ranks.
o Writes an optimization report to stdout. MPI_Cart_create and
MPI_Graph_create optimize the mapping of processes onto the virtual
topology if rank reordering is enabled.