Intel® MPI Library Developer Reference for Linux* OS
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 environment variables specific to Intel MPI Library. |
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 print debugging information about the application.
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
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_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.
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.
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