Other Environment Variables

I_MPI_DEBUG

Print out debugging information when an MPI program starts running.

Syntax

I_MPI_DEBUG=<level>[,<flags>]

Arguments

<level>

Indicate the level of debug information provided

0

Output no debugging information. This is the default value.

1,2

Output libfabric* version and provider.

3

Output effective MPI rank, pid and node mapping table.

4

Output process pinning information.

5

Output environment variables specific to Intel® MPI Library.

> 5

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 print debugging information about the application.

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:

  • <identifier> is the MPI process rank, by default. If you add the '+' sign in front of the <level> number, the <identifier> assumes the following format: rank#pid@hostname. Here, rank is the MPI process rank, pid is the UNIX* process ID, and hostname is the host name. If you add the '-' sign, <identifier> is not printed at all.

  • <message> contains the debugging output.

The following examples demonstrate possible command lines with the corresponding output:

$ mpirun -n 1 -env I_MPI_DEBUG=2 ./a.out
...
[0] MPI startup(): shared memory data transfer mode

The following commands are equal and produce the same output:

$ mpirun -n 1 -env I_MPI_DEBUG=+2 ./a.out
$ mpirun -n 1 -env I_MPI_DEBUG=2,pid,host ./a.out
...
[0#1986@mpicluster001] MPI startup(): shared memory data transfer mode

Note

Compiling with the -g option 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. This is the default value.

stderr

Output to stderr.

<file_name>

Specify the output file name for debug information (the maximum file name length is 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, process ID or host name is added to the file name accordingly.

I_MPI_STATS

Collect MPI statistics from your application using Application Performance Snapshot.

Syntax

I_MPI_STATS=<level>

Arguments

<level>

Indicate the level of statistics collected

1,2,3,4,5

Specify the level to indicate amount of MPI statistics to be collected by Application Performance Snapshot (APS).

The full description of levels is available in the official APS documentation.

Description

Set this variable to collect MPI-related statistics from your MPI application using Application Performance Snapshot. The variable creates a new folder aps_result_<date>-<time> containing statistics data. To analyze the collected data, use the aps utility. For example:

$ export I_MPI_STATS=5
$ mpirun -n 2 ./myApp
$ aps-report aps_result_20171231_235959

I_MPI_STARTUP_MODE

Select a mode for the Intel® MPI Library process startup algorithm.

Syntax

I_MPI_STARTUP_MODE=<arg>

Arguments

<arg>

String value

pmi_shm

Use shared memory to reduce the number of PMI calls. This mode is enabled by default.

pmi_shm_netmod

Use the netmod infrastructure for address exchange logic in addition to PMI and shared memory.

Description

The pmi_shm and pmi_shm_netmod modes reduce the application startup time. The efficiency of the modes is more clearly observed with the higher -ppn value, while there is no improvement at all with -ppn 1.

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_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 option of mpiexec.hydra, 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.hydra/mpirun 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_REMOVED_VAR_WARNING

Print out a warning if a removed environment variable is set.

Syntax

I_MPI_REMOVED_VAR_WARNING=<arg>

Arguments

<arg>

Binary indicator

enable | yes | on | 1

Print out the warning. This is the default value

disable | no | off | 0

Do not print the warning

Description

Use this environment variable to print out a warning if a removed environment variable is set. Warnings are printed regardless of whether I_MPI_DEBUG is set.

I_MPI_VAR_CHECK_SPELLING

Print out a warning if an unknown environment variable is set.

Syntax

I_MPI_VAR_CHECK_SPELLING=<arg>

Arguments

<arg>

Binary indicator

enable | yes | on | 1

Print out the warning. This is the default value

disable | no | off | 0

Do not print the warning

Description

Use this environment variable to print out a warning if an unsupported environment variable is set. Warnings are printed in case of removed or misprinted environment variables.

I_MPI_LIBRARY_KIND

Specify the Intel® MPI Library configuration.

Syntax

I_MPI_LIBRARY_KIND=<value>

Arguments

<value>

Binary indicator

release

Multi-threaded optimized library (with the global lock). This is the default value

debug

Multi-threaded debug library (with the global lock)

release_mt

Multi-threaded optimized library (with per-object lock for the thread-split model)

debug_mt

Multi-threaded debug library (with per-object lock for the thread-split model)

Description

Use this variable to set an argument for the mpivars.[c]sh script. This script establishes the Intel® MPI Library environment and enables you to specify the appropriate library configuration. To ensure that the desired configuration is set, check the LD_LIBRARY_PATH variable.

Example

$ export I_MPI_LIBRARY_KIND=debug 

Setting this variable is equivalent to passing an argument directly to the mpivars.[c]sh script:

Example

$ . <installdir>/intel64/bin/mpivars.sh release

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

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

ivb

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

hsw

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

bdw

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

knl

Optimize for the Intel® Xeon Phi™ processor and coprocessor formerly code named Knights Landing

skx

Optimize for the Intel® Xeon® Processors E3 V5 and Intel® Xeon® Scalable Family series, and other Intel® Architecture processors formerly code named Skylake

clx

Optimize for the 2nd Generation Intel® Xeon® Scalable Processors, and other Intel® Architecture processors formerly code named Cascade Lake

Description

Set this environment variable to use the predefined platform settings. The default value is a local platform for each node.

The variable 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_MALLOC

Control the Intel® MPI Library custom memory allocator.

Syntax

I_MPI_MALLOC=<arg>

Argument

<arg>

Binary indicator

enable | yes | on | 1

Enable the Intel MPI Library custom memory allocator.

Use the Intel MPI custom memory allocator for MPI_Alloc_mem/MPI_Free_mem.

disable | no | off | 0

Disable the Intel MPI Library custom memory allocator.

Use the system-provided memory allocator for MPI_Alloc_mem/MPI_Free_mem.

Description

Use this environment variable to enable or disable the Intel MPI Library custom memory allocator for MPI_Alloc_mem/MPI_Free_mem.

By default, I_MPI_MALLOC is enabled for release and debug Intel MPI library configurations and disabled for release_mt  and debug_mt configurations.

Note

If the platform is not supported by the Intel MPI Library custom memory allocator, a system-provided memory allocator is used and the I_MPI_MALLOC variable is ignored.

I_MPI_EXTRA_FILE_SYSTEM

Control native support for parallel file systems.

Syntax

I_MPI_EXTRA_FILE_SYSTEM=<arg>

Argument

<arg>

Binary indicator

enable | yes | on | 1

Enable native support for parallel file systems.

disable | no | off | 0

Disable native support for parallel file systems.

Description

Use this environment variable to enable or disable native support for parallel file systems.

Optimization Notice: 

standard

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)