Developer Reference

  • 2020 Update 2
  • 07/15/2020
  • Public Content

I_MPI_TUNING_AUTO Family Environment Variables

Syntax

Argument

/p>

Description

I_MPI_TUNING_AUTO_STORAGE_SIZE
Define size of the per-communicator tuning storage.

Syntax

I_MPI_TUNING_AUTO_STORAGE_SIZE=<size>

Argument

/p>
<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

/p>
<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

/p>
<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

/p>
<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

/p>
<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.
To get the list of communicators available for tuning, use the Application Performance Snapshot (APS) tool, which supports per communicator profiling starting the 2019 Update 4 release.
For example:
  1. Source
    apsvars.sh:
    $ source <path_to_aps>/apsvars.sh
  2. 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
  3. Generate an APS report:
    $ aps-report aps_result_20190228/ -lFE
  4. 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 |-----------------------------------------------------------------------------
  5. 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

/p>
<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

/p>
<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

I_MPI_TUNING_AUTO_ITER_POLICY=<arg>

Argument

/p>
<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

/p>
<arg>
Define the value. By default, it is 64KB.

Description

Set this environment variableto 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

/p>
<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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804