Asynchronous Progress Control

Intel® MPI Library supports asynchronous progress model and can provide separate dedicated cores for asynchronous progress threads. This section describes the environment variables for the asynchronous progress control.

I_MPI_ASYNC_PROGRESS

Enable asynchronous progress. It is recommended to use I_MPI_ASYNC_PROGRESS instead of MPICH_ASYNC_PROGRESS.

Syntax

I_MPI_ASYNC_PROGRESS=<arg>

Arguments

<arg>

Binary indicator

disable | no | off | 0

Turn off asynchronous progress thread for each rank. This is the default value

enable | yes | on | 1

Enables asynchronous progress thread

Description

Set this environment variable to control the usage of separate progress threads.

I_MPI_ASYNC_PROGRESS_PIN

Control the helper threads pinning, such as asynchronous progress threads pinning. If you have not set I_MPI_ASYNC_PROGRESS, the configuration of I_MPI_ASYNC_PROGRESS_PIN is ignored.

Syntax

I_MPI_ASYNC_PROGRESS_PIN=<arg>

Arguments

<arg>

Binary indicator

disable | no | off

Turn off helper threads pinning. Helper threads inherit affinity mask from parent thread, which means the provided set of cores are used as affinity mask for all helper threads. This is the default value

yes | auto

Allow Hydra process manager to pin helper threads to the dedicated cores automatically. If you specify this value, Hydra process manager excludes one CPU from mask dedicated for the rank. This separate CPU is attached to the helper thread; meanwhile all other CPUs from initial affinity mask are used by MPI-rank

<CPU list>

Pin all existing progress threads to the listed CPUs

Description

Set this environment variable to control the usage of the helpers thread pinning.

For more complete information about compiler optimizations, see our Optimization Notice.