Environment Variables

I_MPI_DEBUG

Print out debugging information when an MPI program starts running.

Syntax

I_MPI_DEBUG=<level>[,<flags>]

Arguments

<level>

Indicate level of debug information provided

0

Output no debugging information. This is the default value

1

Output verbose error diagnostics

2

Confirm which I_MPI_FABRICS was used and which Intel® MPI Library configuration was used.

3

Output effective MPI rank, pid and node mapping table

4

Output process pinning information

5

Output Intel MPI-specific environment variables

6

Output collective operation algorithms settings

> 6

Add extra levels of debug information

 

<flags>

Comma-separated list of debug flags

pid

Show process id for each debug message

tid

Show thread id for each debug message for multithreaded library

time

Show time for each debug message

datetime

Show time and date for each debug message

host

Show host name for each debug message

level

Show level for each debug message

scope

Show scope for each debug message

line

Show source line number for each debug message

file

Show source file name for each debug message

nofunc

Do not show routine name

norank

Do not show rank

flock

Synchronize debug output from different process or threads

nobuf

Do not use buffered I/O for debug output

Description

Set this environment variable to control the output of the debugging information.

Note

Set the same <level> value for all ranks.

You can specify the output file name for debug information by setting the I_MPI_DEBUG_OUTPUT environment variable.

Each printed line has the following format:

[<identifier>] <message>

where

For example, the following command:

$ mpiexec -n 1 -env I_MPI_DEBUG 2 ./a.out

may produce the following output:

[0] MPI startup(): shared memory data transfer mode

while the command

$ mpiexec -n 1 -env I_MPI_DEBUG +2 ./a.out

or

$ mpiexec -n 1 -env I_MPI_DEBUG 2,pid,host ./a.out

may produce the following output:

[0#1986@mpicluster001] MPI startup(): shared memory data transfer mode

Note

Compiling with mpiicc -g adds a considerable amount of printed debug information.

I_MPI_DEBUG_OUTPUT

Set output file name for debug information.

Syntax

I_MPI_DEBUG_OUTPUT=<arg>

Arguments

<arg>

String value

stdout

Output to stdout - default value

stderr

Output to stderr

<file_name>

Specify the output file name for debug information (a maximum of 256 symbols)

Description

Set this environment variable if you want to split output of debug information from the output produced by an application. If you use format like %r, %p or %h, rank, pid or host name is added to the file name accordingly.

I_MPI_PERHOST

Define the default settings for the -perhost option in the mpiexec command.

Syntax

I_MPI_PERHOST=<value>

Arguments

<value>

Define the default process layout

<n> > 0

<n> processes per node

all

All logical CPUs on a node

allcores

All cores (physical CPUs) on a node

Description

Set this environment variable to define the default setting for the -perhost option. If -perhost is explicitly called in the command line, the I_MPI_PERHOST environment variable has no effect. The -perhost option assumes the value of the I_MPI_PERHOST environment variable if this environment variable is defined.

Note

When I_MPI_PERHOST is defined together with mpiexec -host option, I_MPI_PERHOST is ignored.

I_MPI_PRINT_VERSION

Print library version information.

Syntax

I_MPI_PRINT_VERSION=<arg>

Arguments

<arg>

Binary indicator

enable | yes | on | 1

Print library version information.

disable | no | off | 0

No action. This is the default value.

Description

Set this environment variable to enable/disable printing of Intel® MPI library version information when an MPI application starts running.

(SDK only) I_MPI_JOB_TRACE_LIBS

(MPIEXEC_TRACE_LIBS)

Choose the libraries to preload through the -trace option.

Syntax

I_MPI_JOB_TRACE_LIBS=<arg>

Deprecated Syntax

MPIEXEC_TRACE_LIBS=<arg>

Arguments

<arg>

String parameter

<list>

Blank separated list of libraries to preload. The default value is vt

Description

Set this environment variable to choose an alternative library for preloading by the -trace option.

(SDK only) I_MPI_JOB_CHECK_LIBS

Choose the libraries to preload through the -check_mpi option.

Syntax

I_MPI_JOB_CHECK_LIBS=<arg>

Arguments

<arg>

String parameter

<list>

Blank separated list of libraries to preload. The default value is vtmc

Description

Set this environment variable to choose an alternative library for preloading by the -check_mpi option.

I_MPI_JOB_STARTUP_TIMEOUT

Set the mpiexec job startup timeout.

Syntax

I_MPI_JOB_STARTUP_TIMEOUT=<timeout>

Arguments

<timeout>

Define mpiexec job startup timeout period in seconds

<n> >= 0

The default timeout value is 20 seconds

Description

Set this environment variable to make mpiexec wait for the job to start in <timeout> seconds after its launch. The <timeout> value should be greater than zero. Otherwise the environment variable setting is ignored and a warning message is printed. Setting this environment variable may make sense on large clusters with a lot of nodes where the job startup time may exceed the default value.

Note

Set the I_MPI_JOB_STARTUP_TIMEOUT environment variable in the shell environment before executing the mpiexeccommand. Do not use the -genv or -env options for setting the <timeout> value. Those options are used only for passing environment variables to the MPI process environment.

I_MPI_JOB_TIMEOUT

(MPIEXEC_TIMEOUT)

Set the mpiexec timeout.

Syntax

I_MPI_JOB_TIMEOUT=<timeout>

Deprecated Syntax

MPIEXEC_TIMEOUT=<timeout>

Arguments

<timeout>

Define mpiexec timeout period in seconds

<n> >= 0

The default timeout value is zero, meaning no timeout

Description

Set this environment variable to make mpiexec terminate the job in <timeout> seconds after its launch. The <timeout> value should be greater than zero. Otherwise the environment variable setting is ignored.

Note

Set theI_MPI_JOB_TIMEOUT environment variable in the shell environment before executing the mpiexec command. Do not use the -genv or -env options for setting the <timeout> value. Those options are used only for passing environment variables to the MPI process environment.

I_MPI_JOB_TIMEOUT_SIGNAL

(MPIEXEC_TIMEOUT_SIGNAL)

Define a signal to be used when a job is terminated because of a timeout.

Syntax

I_MPI_JOB_TIMEOUT_SIGNAL=<number>

Deprecated Syntax

MPIEXEC_TIMEOUT_SIGNAL=<number>

Arguments

<number>

Define signal number

<n> > 0

The default value is 9 (SIGKILL)

Description

Define a signal number for task termination upon the timeout period specified by the environment variable I_MPI_JOB_TIMEOUT. If you set a signal number unsupported by the system, mpiexec prints a warning message and continues task termination using the default signal number 9 (SIGKILL).

I_MPI_JOB_ABORT_SIGNAL

Define a signal to be sent to all processes when a job is terminated unexpectedly.

Syntax

I_MPI_JOB_ABORT_SIGNAL=<number>

Arguments

<number>

Define signal number

<n> > 0

The default value is 9 (SIGKILL)

Description

Set this environment variable to define a signal for task termination. If you set an unsupported signal number, mpiexec prints a warning message and uses the default signal 9 (SIGKILL).

I_MPI_JOB_SIGNAL_PROPAGATION

(MPIEXEC_SIGNAL_PROPAGATION)

Control signal propagation.

Syntax

I_MPI_JOB_SIGNAL_PROPAGATION=<arg>

Deprecated Syntax

MPIEXEC_SIGNAL_PROPAGATION=<arg>

Arguments

<arg>

Binary indicator

enable |yes | on| 1

Turn on propagation.

disable | no | off | 0

Turn off propagation. This is the default value

Description

Set this environment variable to control propagation of the signals (SIGINT, SIGALRM, and SIGTERM) that may be received by the MPD daemons. If signal propagation is enabled, the received signal is sent to all processes of the MPI job. If signal propagation is disabled, all processes of the MPI job are stopped with the default signal 9 (SIGKILL).

I_MPI_OUTPUT_CHUNK_SIZE

Set the size of the stdout/stderr output buffer.

Syntax

I_MPI_OUTPUT_CHUNK_SIZE=<size>

Arguments

<size>

Define output chunk size in kilobytes

<n> > 0

The default chunk size value is 1 KB

Description

Set this environment variable to increase the size of the buffer used to intercept the standard output and standard error streams from the processes. If the <size> value is not greater than zero, the environment variable setting is ignored and a warning message is displayed.

Use this setting for applications that create a significant amount of output from different processes. With the -ordered-output mpiexec option, this setting helps to prevent the output from garbling.

Note

Set the I_MPI_OUTPUT_CHUNK_SIZE environment variable in the shell environment before executing the mpiexec command. Do not use the -genv or -env options for setting the <size> value. Those options are used only for passing environment variables to the MPI process environment.

I_MPI_PMI_EXTENSIONS

Turn on/off the use of the Intel® MPI Library Process Management Interface (PMI) extensions.

Syntax

I_MPI_PMI_EXTENSIONS=<arg>

Arguments

<arg>

Binary indicator

enable | yes | on | 1

Turn on the PMI extensions

disable | no | off | 0

Turn off the PMI extensions

Description

The Intel® MPI Library automatically detects if your process manager supports the PMI extensions. If supported, the extensions substantially decrease task startup time. Set I_MPI_PMI_EXTENSIONS to disable if your process manager does not support these extensions.

I_MPI_PMI_LIBRARY

Specify the name to third party implementation of the PMI library.

Syntax

I_MPI_PMI_LIBRARY=<name>

Arguments

<name>

Full name of the third party PMI library

Description

Set I_MPI_PMI_LIBRARY to specify the name of third party PMI library. When you set this environment variable, provide full name of the library with full path to it.

I_MPI_JOB_FAST_STARTUP

(I_MPI_PMI_FAST_STARTUP)

Turn on/off the faster Intel® MPI Library process startup algorithm.

Syntax

I_MPI_JOB_FAST_STARTUP=<arg>

Deprecated Syntax

I_MPI_PMI_FAST_STARTUP=<arg>

Arguments

<arg>

Binary indicator

enable | yes | on | 1

Turn on the algorithm for fast startup. This is the default value

disable | no | off | 0

Turn off the algorithm for fast startup

Description

The new algorithm significantly decreases the application startup time. Some DAPL providers may be overloaded during startup of large number of processes (greater than 512). To avoid this problem, turn off this algorithm by setting the I_MPI_JOB_FAST_STARTUP environment variable to disable.

TOTALVIEW

Select a particular TotalView* executable file to use.

Syntax

TOTALVIEW=<path>

Arguments

<path>

Path/name of the TotalView* executable file instead of the default totalview

Description

Set this environment variable to select a particular TotalView* executable file.

I_MPI_PLATFORM

Select the intended optimization platform.

Syntax

I_MPI_PLATFORM=<platform>

Arguments

<platform>

Intended optimization platform (string value)

auto[:min]

Optimize for the oldest supported Intel® Architecture Processor across all nodes. This is the default value

auto:max

Optimize for the newest supported Intel® Architecture Processor across all nodes

auto:most

Optimize for the most numerous Intel® Architecture Processor across all nodes. In case of a tie, choose the newer platform

uniform

Optimize locally. The behavior is unpredictable if the resulting selection differs from node to node

none

Select no specific optimization

htn | generic

Optimize for the Intel® Xeon® Processors 5400 series and other Intel® Architecture processors formerly code named Harpertown

nhm

Optimize for the Intel® Xeon® Processors 5500, 6500, 7500 series and other Intel® Architecture processors formerly code named Nehalem

wsm

Optimize for the Intel® Xeon® Processors 5600, 3600 series and other Intel® Architecture processors formerly code named Westmere

snb

Optimize for the Intel® Xeon® Processors E3, E5, and E7 series and other Intel® Architecture processors formerly code named Sandy Bridge

ivb

Optimize for the Intel® Xeon® Processors E3, E5, and E7 V2 series and other Intel® Architecture processors formerly code named Ivy Bridge

knc

Optimize for the Intel® Xeon® Processors (codename: Knights Corner). If Intel Xeon Phi coprocessor is present on the cluster, the value is chosen by default

hsw

Optimize for the Intel® Xeon® Processors E3, E5, and E7 V3 series and other Intel® Architecture processors formerly code named Haswell

knl

Optimize for the Intel® Xeon Phi™ Processor x200 Product Family formerly code named Knights Landing

Description

Set this variable to use the predefined platform settings. It is available for both Intel® and non-Intel microprocessors, but it may utilize additional optimizations for Intel microprocessors than it utilizes for non-Intel microprocessors.

Note

The values auto:min, auto:max and auto:most may increase the MPI job startup time.

I_MPI_PLATFORM_CHECK

Turn on/off the optimization setting similarity check.

Syntax

I_MPI_PLATFORM_CHECK=<arg>

Argument

<arg>

Binary indicator

enable | yes | on | 1

Turns on the optimization platform similarity check. This is the default value

disable | no | off | 0

Turns off the optimization platform similarity check

Description

Set this variable to check the optimization platform settings of all processes for similarity. If the settings are not the same on all ranks, the library terminates the program. Disabling this check may reduce the MPI job startup time.

I_MPI_THREAD_LEVEL_DEFAULT

Set this environment variable to initialize the MPI thread environment for the multi-threaded library if MPI_Init() call is used for initialization.

Syntax

I_MPI_THREAD_LEVEL_DEFAULT=<threadlevel>

Arguments

<threadlevel>

Define the default level of thread support

SINGLE | single

Set the default level of thread support to MPI_THREAD_SINGLE

FUNNELED | funneled

Set the default level of thread support to MPI_THREAD_FUNNELED. This is the default value if MPI_Init() call is used for initialization

SERIALIZED | serialized

Set the default level of thread support to MPI_THREAD_SERIALIZED

MULTIPLE | multiple

Set the default level of thread support to MPI_THREAD_MULTIPLE

Description

Set I_MPI_THREAD_LEVEL_DEFAULT to define the default level of thread support for the multi-threaded library if MPI_Init() call is used for initialization.

Note

The environment variable I_MPI_THREAD_LEVEL_DEFAULT is equivalent to the environment variable MPICH_THREADLEVEL_DEFAULT.