Visible to Intel only — GUID: GUID-C13EB96F-189F-4D5E-942B-D669488A611A
Visible to Intel only — GUID: GUID-C13EB96F-189F-4D5E-942B-D669488A611A
Environment Variables for Asynchronous Progress Control
I_MPI_ASYNC_PROGRESS
Control the usage of progress threads.
Syntax
I_MPI_ASYNC_PROGRESS=<arg>
Arguments
<arg> | Binary indicator |
disable | no | off | 0 | Disable asynchronous progress threads for each rank. This is the default value. |
enable | yes | on | 1 | Enable asynchronous progress threads. |
Description
Set this environment variable to enable asynchronous progress. If disabled, the I_MPI_ASYNC_PROGRESS_* knobs are ignored.
I_MPI_ASYNC_PROGRESS_THREADS
Control the number of asynchronous progress threads.
Syntax
I_MPI_ASYNC_PROGRESS_THREADS=<arg>
Arguments
<nthreads> | Define the number of progress threads. The default value is 1. |
Description
Set this environment variable to control the number of asynchronous progress threads for each rank.
I_MPI_ASYNC_PROGRESS_PIN
Control the asynchronous progress threads pinning.
Syntax
I_MPI_ASYNC_PROGRESS_PIN=<arg>
Arguments
<arg> | Comma-separated list of logical processors |
<CPU list> | Pin all progress threads of local processes to the listed CPUs. By default, N progress threads are pinned to the last N logical processors. |
Description
Set this environment variable to control pinning for all progress threads of local processes.
Example
I_MPI_ASYNC_PROGRESS_THREADS=3 I_MPI_ASYNC_PROGRESS_PIN="0,1,2,3,4,5"
In case of three MPI processes per node, progress threads of the first process are pinned to 0, 1, second are pinned to 2, 3, and third are pinned to 4, 5.
I_MPI_ASYNC_PROGRESS_ID_KEY
Set the MPI info object key that is used to explicitly define the progress thread id for a communicator.
Syntax
I_MPI_ASYNC_PROGRESS_ID_KEY=<arg>
Arguments
<key> | MPI info object key. The default value is thread_id. |
Description
Set this environment variable to control the MPI info object key that is used to define the progress thread id for a communicator. The progress thread id is used for work distribution between progress threads. By default, communication goes over the first progress thread.
Exclude selected processors for progress threads from pinning of computational threads to avoid oversubscription of cores.
For more information and examples, refer to the Intel® MPI Library Developer Guide, section Asynchronous Progress Control.