Configuration

Which errors are checked for at runtime is configurable: all errors have a unique name and are categorized in a hierarchy similar to functions. For example, LOCAL:MEMORY:OVERLAP is a local check which ensures that memory is not used twice in concurrent MPI operations. The CHECK configuration option matches against these full names of each supported error and turns it on or off, like this:

# turn all checking off:
# ** matches colons
# * does not
CHECK ** OFF
# selectively turn on specific checks:
# - all local checks
CHECK LOCAL:** ON
# - just one global check
CHECK GLOBAL:MSG:DATATYPE:MISMATCH ON

By default Intel® Trace Collector checks for all errors and tries to provide as much information about them as possible. In particular it does stack unwinding and reports source code information for each level in the call hierarchy. This can be controlled with the PCTRACE configuration option. For performance analysis that option is off by default, but for correctness checking with libVTmc it is enabled.

Disabling certain errors serves two purposes: first of all it avoids any report about the disabled errors. Then it can also reduce the overhead for checking if it allows Intel® Trace Collector to skip certain code or communication.

Another relevant setting is the DEADLOCK-TIMEOUT. This controls the same mechanism to detect deadlocks as in libVTfs. For interactive use it is recommended to set it to a small value like 10s to detect deadlocks quickly without having to wait long for the timeout.

The different levels for the VERBOSE configuration of verbosity have the following effects:

Verbosity Level

Effect

0

all extra output disabled, only error summary at the end is printed

1

adds a summary of configuration options as the application starts (default)

2

adds a one-line info message at the beginning by each process with host name, process ID and the normal rank prefix; this can be useful if output is redirected into one file per process because it identifies to which process in the parallel application the output belongs

3

adds internal progress messages and a dump of MPI call entry/exit with their parameters and results

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