Developer Reference

Autotuning

Tuning is very dependent on the specifications of the particular platform.  Intel carefully determines the tuning parameters for a limited set of platforms, and makes them available for autotuning using the
I_MPI_TUNING_MODE
environment variable.
For the full list of platforms supported by the
I_MPI_TUNING_MODE
environment variable, see Tuning Environment Variables. This variable has no effect on platforms not included in this list. For these platforms,  use the I_MPI_TUNING_AUTO Family Environment Variables directly to find the best settings.
The autotuner functionality lets you automatically find the best algorithms for collective operations. The autotuner search space can be modified by
I_MPI_ADJUST_<
opname
>_LIST
variables from I_MPI_ADJUST Family Environment Variables.
The collectives currently available for autotuning are:
MPI_Allreduce, MPI_Bcast, MPI_Barrier, MPI_Reduce, MPI_Gather, MPI_Scatter, MPI_Alltoall, MPI_Allgatherv, MPI_Reduce_scatter, MPI_Reduce_scatter_block, MPI_Scan, MPI_Exscan, MPI_Iallreduce, MPI_Ibcast, MPI_Ibarrier, MPI_Ireduce, MPI_Igather, MPI_Iscatter, MPI_Ialltoall, MPI_Iallgatherv, MPI_Ireduce_scatter, MPI_Ireduce_scatter_block, MPI_Iscan,
and
MPI_Iexscan
.
To get started with autotuning, follow these steps:
  1. Launch the application with autotuner enabled and specify the dump file, which stores results:
    I_MPI_TUNING_MODE=autoI_MPI_TUNING_BIN_DUMP=<tuning-results.dat>
  2. Launch the application with the tuning results generated at the previous step:
    I_MPI_TUNING_BIN=<tuning-results.dat>
    Or use the
    -tune
    Hydra option.
  3. If you experience performance issues, see Environment Variables for Autotuning.
For example:
  1. export I_MPI_TUNING_MODE=auto export I_MPI_TUNING_AUTO_SYNC=1 $ export I_MPI_TUNING_AUTO_ITER_NUM=5 $ export I_MPI_TUNING_BIN_DUMP=./tuning_results.dat $ mpirun -n 128 -ppn 64 IMB-MPI1 allreduce -iter 1000,800 -time 4800
  2. $ export I_MPI_TUNING_BIN=./tuning_results.dat $ mpirun -n 128 -ppn 64 IMB-MPI1 allreduce -iter 1000,800 -time 4800
To tune collectives on a communicator identified with the help of Application Performance Snapshot (APS), execute the following variable at step 1:
I_MPI_TUNING_AUTO_COMM_LIST=comm_id_1, … , comm_id_n
.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.