MPIOptions Section
This section provides the means to control many MPI runtime parameters at the queue level. This is done by naming the LSF queue of interest and then listing the parameters to be defined, along with their desired values.
The hpc.conf file that is shipped with Sun HPC ClusterTools 3.0 software includes two MPIOptions templates--see Example 2-4. The first template, which contains the phrase queue=hpc, is designed for use by multiuser queue named
hpc. The second template, which contains the phrase
queue=performance, is intended by use by a dedicated (single-user) queue named
performance.
To use either template, simply delete the comment character (#) from the beginning of each line in the template of interest.
Note - The options in the general-purpose template (queue=hpc) are the same as the default settings for the Sun MPI library. In other words, you will have the effects of this template even if you do not use it or change any of the library defaults. This template is provided in the MPIOptions section so you can see what options are most beneficial when operating in a multiuser mode.
Example 2-4 MPIOptions Section
Example
# Following is an example of the options that affect the runtime
# environment of the MPI library. The listings below are identical
# to the default settings of the library. The "queue=hpc" phrase
# makes it an LSF-specific entry, and only for the queue named hpc.
# These options are a good choice for a multiuser queue. To be
# recognized by CRE, the "Queue=hpc" needs to be removed.
#
# Begin MPIOptions queue=hpc
# coscheduling avail
# pbind avail
# spindtimeout 1000
# progressadjust on
# spin off
#
# shm_numpostbox 16
# shm_shortmsgsize 256
# rsm_numpostbox 15
# rsm_shortmsgsize 401
# rsm_maxstripe 2
# End MPIOptions
# The listing below is a good choice when trying to get maximum
# performance out of MPI jobs that are running in a queue that
# allows only one job to run at a time.
#
# Begin MPIOptions Queue=performance
# coscheduling off
# spin on
# End MPIOptions
|
Table 2-1 provides brief descriptions of the MPI runtime options that can be set in
hpc.conf. Each description identifies the default value and describes the effect of each legal value. Refer to the Sun MPI 4.0 User's Guide: With LSF for fuller descriptions.
Note - Some MPI options not only control a parameter directly, they can also be set to a value that passes control of the parameter to an environment variable. Where an MPI option has an associated environment variable, Table 2-1 names the environment variable.
Table 2-1 MPI Runtime Options
|
Values
|
|
Option
|
Default
|
Other
|
Description
|
coscheduling
|
avail
|
|
Allows spind use to be controlled by the environment variable MPI_COSCHED. If MPI_COSCHED=0 or is not set, spind is not used. If MPI_COSCHED=1, spind must be used.
|
|
|
on
|
Enables coscheduling; spind is used. This value overrides MPI_COSCHED=0.
|
|
|
off
|
Disables coscheduling; spind is not to be used. This value overrides MPI_COSCHED=1.
|
pbind
|
avail
|
|
Allows processor binding state to be controlled by the environment variable MPI_PROCBIND. If MPI_PROCBIND=0 or is not set, no processes will be bound to a processor. This is the default.
If MPI_PROCBIND=1, all processes on a node will be bound to a processor.
|
|
|
on
|
All processes will be bound to processors. This value overrides MPI_PROCBIND=0.
|
|
|
off
|
No processes on a node are bound to a processor. This value overrides MPI_PROCBIND=1.
|
spindtimeout
|
1000
|
|
When polling for messages, a process waits 1000 milliseconds for spind to return. This equals the value to which the environment variable MPI_SPINDTIMEOUT is set.
|
|
|
integer
|
To change the default timeout, enter an integer value specifying the number of milliseconds the timeout should be.
|
progressadjust
|
on
|
|
Allows user to set the environment variable MPI_SPIN.
|
|
|
off
|
Disables user's ability to set the environment variable MPI_SPIN.
|
shm_numpostbox
|
16
|
|
Sets to 16 the number of postbox entries that are dedicated to a connection endpoint. This equals the value to which the environment variable MPI_SHM_NUMPOSTBOX is set.
|
|
|
integer
|
To change the number of dedicated postbox entries, enter an integer value specifying the desired number.
|
shm_shortmsgsize
|
256
|
|
Sets to 256 the maximum number of bytes a short message can contain. This equals the default value to which the environment variable MPI_SHM_SHORTMSGSIZE is set.
|
|
|
integer
|
To change the maximum-size definition of a short message, enter an integer specifying the maximum number of bytes it can contain.
|
rsm_numpostbox
|
15
|
|
Sets to 15 the number of postbox entries that are dedicated to a connection endpoint. This equals the value to which the environment variable MPI_RSM_NUMPOSTBOX is set.
|
|
|
integer
|
To change the number of dedicated postbox entries, enter an integer value specifying the desired number.
|
rsm_shortmsgsize
|
401
|
|
Sets to 401 the maximum number of bytes a short message can contain. This equals the value to which the environment variable MPI_RSM_SHORTMSGSIZE is set.
|
|
|
integer
|
To change the maximum-size definition of a short message, enter an integer specifying the maximum number of bytes it can contain.
|
rsm_maxstripe
|
2
|
|
Sets to 2 the maximum number of stripes that can be used. This equals the value to which the environment variable MPI_RSM_MAXSTRIPE is set.
|
|
|
integer
|
To change the maximum number of stripes that can be used, enter an integer specifying the desired limit. This value cannot be greater than 2.
|
spin
|
off
|
|
Sets the MPI library to avoid spinning while waiting for status. This equals the value to which the environment variable MPI_SPIN is set.
|
|
|
on
|
Sets the MPI library to spin.
|