Tracing Conventional MPI Applications
Before tracing your applications with Intel® Trace Collector make sure to complete the
prerequisites steps.
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 without rebuilding on Linux*
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 on Linux*
In some cases you may need to rebuild your application to trace it – for example, if it is statically linked with the Intel 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=
option instead of
<profiling_library>
-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
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:
- Rebuild your application with the-tracecompiler option. For example:> mpiicc -trace myApp.c
- 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.