MPI Correctness checking using Intel MPI version 4.
The Intel MPI has the ability to perform correctness checking of MPI codes, which can detect errors and resource leaks. Using this option can slow the execution of the program significantly so use with care.
To use this capability compile your code with the
-check_mpi
option e.g.
mpif90 -check_mpi myprog.f90
The program is then run as normal but will produce MPI debugging information in the standard error file.
This flag changed in version 4.0 See below for details of how to use this capability in previous versions.
Intel Trace Collector correctness checking using Intel MPI v3.1
In older versions (version 3.x) of Intel MPI the option is called
-check
e.g.
mpif90 -check myprog.f90
See section 4 of the
ITC Reference Guide for more information.
Differences between Intel MPI v3.1 and v3.0.043
The
mpif90
and
mpiifort
scripts supplied with v3.1 of the Intel MPI library will detect the
-check
option and enable ITC correctness checking if this argument is present.
In v3.0.043 the
mpif90
and
mpiifort
scripts do not detect the
-check
option. The flag is passed to the compiler and enables
ifort
run-time error checking.
The effect of supplying
-check
to
mpif90
and
mpiifort
depends on which version of the Intel MPI libraries are loaded. (
module load impi
loads v3.1,
module load intel-mpi
loads v3.0.043)
If you are using v3.1 of the Intel MPI libraries then you can enable ITC correctness checking by using
mpif90 -check
or
mpiifort -check
, as described above. If you also want to enable
ifort
run-time error checking then set the
F90FLAGS
environment variable e.g.
setenv F90FLAGS "-check all"
--
DavidAcreman - 15 May 2008