Tracing Conventional MPI Applications

Before tracing your applications make sure to complete the steps described in the previous section.

Tracing MPI Applications in Python*

To create a trace file for an MPI application written in Python*, use the -trace option with "libVT.so libmpi.so" argument. For example:

$ mpiexec.hydra -trace "libVT.so libmpi.so" -n 2 python helloworld.py

To change the trace name, see the VT_LOGFILE_NAME variable or refer to the example below:

$ export VT_LOGFILE_NAME=helloworld.stf
$ export VT_LOGFILE_FORMAT=SINGLESTF

Tracing on Linux* OS

Tracing without rebuilding

The common way to trace an MPI application is to dynamically load the Intel® Trace Collector profiling library during execution. The profiling library then intercepts all MPI calls and generates a trace file. The easiest way to do this is to use the -trace option of the mpirun command. For example:

$ mpirun -trace -n 4 ./myApp

If you use your own launch scripts, you can use the LD_PRELOAD environment variable to point to the appropriate profiling library (see Product Components). For example, for regular tracing:

$ export LD_PRELOAD=libVT.so
$ mpirun -n 4 ./myApp

Relinking with profiling library

In some cases you may need to rebuild your application to trace it – for example, if it is statically linked with the MPI library. In this case, use the -trace compiler option to link the libraries required for tracing. To generate a trace file, run the application as usual. For example:

$ mpiicc -trace myApp.c -o myApp
$ mpirun -n 4 ./myApp

If you wish to specify the profiling library, use the -profile=<profiling_library> option instead of -trace. For the list of available libraries, see Product Components. For example, for the fail-safe tracing library:

$ mpiicc -profile=vtfs myApp.c -o myApp

Note

The -trace and -profile options link the selected Intel® Trace Collector library statically. To link it dynamically, use the additional -dynamic_log option.

For more details on the options used, see the Intel® MPI Library documentation.

Tracing on Windows* OS

To trace an application on Windows* OS, you need to recompile your application and link it with the Intel® Trace Collector profiling library. The -trace compiler option helps you do this job.

Do the following:

  1. Rebuild your application with the -trace compiler option. For example:

    > mpiicc -trace myApp.c
  2. Run the application as usual:

    > mpiexec -n 4 myApp.exe

After running your application, a trace file with the .stf extension is created. Open this trace file in Intel® Trace Analyzer to analyze the application behavior. See the Intel® Trace Analyzer User and Reference Guide for details.

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)