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

This topic: Zen > WebHome > CodeDevelopment > CheckingMPI
History: r5 - 18 May 2012 - 16:58:08 - DavidAcreman
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Astrophysics Wiki? Send feedback