Community support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
4822 Discussions

memory and thread check for MPI application



I am relatively new to Intel Inspector XE. I have search through the documentation but haven't found what I am looking for, hence I am posting here.

My goal is to run specific tests in the regression test suite of our scientific application, MADNESS through Intel Inspector XE to look for race conditions and memory issues. The tests use MPI (not Intel MPI, but MPICH2 1.4.x ) and pthreads, but note that I don't care about characeterize the performance of MPI calls in the application itself, just the aforementioned race conditions and memory issues. I typically run the regression test with a bash script because it requires setting a bunch of environment variables. I tried the Intel Inspector XE GUI, put my bash script into the application field, but it does not appear that Intel Inspector hooked into binary correctly.

My question is, how do I use the memory and thread checker with an MPI application that is invoked through a bash script. It is also possible to do this without the bash script, but my command line would still look like "mpirun -np <tasks> <binary>".

Nichols A. Romero, Ph.D.

0 Kudos
1 Reply

You need to run the Inspector XE command line under mpirun.

For example, mpirun -np 4 inspxe-cl -collect mi2 -r r000mi2 <binary>

The result directory needs to be explicitly specified when running under MPI ( '-r r000mi2' in the example line above). The rank will automatically be appended to the result directory name, and there will be one result directory per MPI process.

After the run, the results can be loaded in the GUI.  Either use menu (File->Open->Result,) or specify the result directory on the command line (eg. inspxe-gui r000mi2.0)