I_MPI_TUNING_AUTO Family Environment Variables
I_MPI_TUNING_AUTO_STORAGE_SIZE
Define size of the per-communicator tuning storage.
Syntax
I_MPI_TUNING_AUTO_STORAGE_SIZE=
<size>
Argument
<size> | Specify size of the
communicator tuning storage. The default size of the storage is 512
Kb. |
Description
Set this environment variable to change the size of the communicator tuning
storage.
I_MPI_TUNING_AUTO_ITER_NUM
Specify the number of autotuner iterations.
Syntax
I_MPI_TUNING_AUTO_ITER_NUM=
<number>
Argument
<number> | Define the number of
iterations. By default, it is 1. |
Description
Set this environment variable to specify the number of autotuner iterations. The
greater iteration number produces more accurate results.
To check if all possible algorithms are iterated, make sure that the total number
of collective invocations for a particular message size in a target application is
at least equal the value of
I_MPI_TUNING_AUTO_ITER_NUM
multiplied by the number of algorithms.I_MPI_TUNING_AUTO_WARMUP_ITER_NUM
Specify the number of warmup autotuner iterations.
Syntax
I_MPI_TUNING_AUTO_WARMUP_ITER_NUM=
<number>
Argument
<number> | Define the number of
iterations. By default, it is 1. |
Description
Set this environment variable to specify the number of autotuner warmup
iterations. Warmup iterations do not impact autotuner decisions and allow to skip
additional iterations, such as infrastructure preparation.
I_MPI_TUNING_AUTO_SYNC
Enable the internal barrier on every iteration of the autotuner.
Syntax
I_MPI_TUNING_AUTO_SYNC=
<arg>
Argument
<arg> | Binary indicator |
enable | yes | on | 1 | Align the autotuner with
the IMB measurement approach. |
disable | no | off | 0 | Do not use the barrier on
every iteration of the autotuner. This is the default value. |
Description
Set this environment variable to control the IMB measurement logic. Setting this
variable to 1 may lead to overhead due to an additional MPI_Barrier call.
I_MPI_TUNING_AUTO_COMM_LIST
Control the scope of autotuning.
Syntax
I_MPI_TUNING_AUTO_COMM_LIST=
<comm_id_1, ...,
comm_id_n>
Argument
<comm_id_n, ...> | Specify communicators to be
tuned. |
Description
Set this environment variable to specify communicators to be tuned using their
unique id. By default, the variable is not specified. In this case, all
communicators in the application are involved into the tuning process.
Note:
To get the list of communicators available for tuning, use the
Application Performance Snapshot (APS)
tool, which supports per communicator profiling starting with the 2019 Update 4
release.For example:
- Sourceapsvars.sh:$ source <path_to_aps>/apsvars.sh
- Gather APS statistics:$ export MPS_STAT_LEVEL=5 $ export APS_COLLECT_COMM_IDS=1 mpirun -aps -n 128 -ppn 64 IMB-MPI1 allreduce -npmin 128 -iter 1000,800 -time 4800
- Generate an APS report:$ aps-report aps_result_20190228/ -lFE
- Get the results:| Communicators used in the application |----------------------------------------------------------------------------- | Communicator Id Communicator Size Time (Rank Average)(sec) Ranks |----------------------------------------------------------------------------- 4611686018431582688 4 1.80 (0.45) 0,1,2,3 |----------------------------------------------------------------------------- 4611686018431582208 4 0.59 (0.15) 0,1,2,3 |----------------------------------------------------------------------------- 4611686018429485552 2 0.51 (0.25) 0,1 |----------------------------------------------------------------------------- 4611686018429485520 2 0.01 (0.00) 0,1 |----------------------------------------------------------------------------- 4611686018431582672 4 0.00 (0.00) 0,1,2,3 |-----------------------------------------------------------------------------
- Specify the communicators to be tuned:$ export I_MPI_TUNING_AUTO_COMM_LIST=4611686018431582688 $ export MPS_STAT_LEVEL=5 $ export APS_COLLECT_COMM_IDS=1 $ export I_MPI_TUNING_AUTO=1 $ mpirun -aps -n 128 -ppn 64 IMB-MPI1 allreduce -iter 1000,800 -time 4800
I_MPI_TUNING_AUTO_COMM_DEFAULT
Mark all communicators with the default value.
Syntax
I_MPI_TUNING_AUTO_COMM_DEFAULT=
<arg>
Argument
<arg> | Binary indicator |
enable | yes | on | 1 | Mark communicators. |
disable | no | off | 0 | Do not mark communicators.
This is the default value. |
Description
Set this environment variable to mark all communicators in an application with
the default value. In this case, all communicators will have the identical default
comm_id equal to -1.
I_MPI_TUNING_AUTO_COMM_USER
Enable communicator marking with a user value.
Syntax
I_MPI_TUNING_AUTO_COMM_USER=
<arg>
Argument
<arg> | Binary indicator |
enable | yes | on | 1 | Enable marking of
communicators. |
disable | no | off | 0 | Disable marking of
communicators. This is the default value. |
Description
Set this environment variable to enable communicator marking with a user value.
To mark a communicator in your application, use the MPI_Info object for this
communicator that contains a record with the comm_id key. The key must belong the
0...UINT64_MAX range
.I_MPI_TUNING_AUTO_ITER_POLICY
Control the iteration policy logic.
Syntax
_MPI_TUNING_AUTO_ITER_POLICY=
<arg>
Argument
<arg> | Binary indicator |
enable | yes | on | 1 | Reduce the number of
iterations with a message size increase after 64Kb (by half). This is the
default value. |
disable | no | off | 0 | Use the I_MPI_TUNING_AUTO_ITER_NUM value. This value
affects warmup iterations. |
Description
Set this environment variable to control the autotuning iteration policy
logic.
I_MPI_TUNING_AUTO_ITER_POLICY_THRESHOLD
Control the message size limit for the
I_MPI_TUNING_AUTO_ITER_POLICY
environment variable.Syntax
I_MPI_TUNING_AUTO_ITER_POLICY_THRESHOLD=
<arg>
Argument
<arg> | Define the value. By
default, it is 64KB. |
Description
Set this environment variable to control the message size limit for the
autotuning iteration policy logic (
I_MPI_TUNING_AUTO_ITER_POLICY
).I_MPI_TUNING_AUTO_POLICY
Choose the best algorithm identification strategy.
Syntax
I_MPI_TUNING_AUTO_POLICY=
<arg>
Argument
<arg> | Description |
max | Choose the best algorithm
based on a maximum time value. This is the default value. |
min | Choose the best algorithm
based on a minimum time value. |
avg | Choose the best algorithm
based on an average time value. |
Description
Set this environment variable to control the autotuning strategy and choose the
best algorithm based on the time value across ranks involved into the tuning
process.