No trace file using Intel® Trace Analyzer and Collector


When I instrument the application test.cpp with the Intel® MPI Library compilation driver mpiicpc and with the Intel® Trace Collector using the command line (listed below) for Intel® Xeon® and Intel® 64-based architectures, I do not produce a trace file.

mpiicpc test.cpp -g -L${VT_ROOT}/lib -lVT -lvtunwind -ldwarf -lelf -lpthread -lm
-o testcpp_inst

or with the command:

mpiicpc test.cpp -g -L${VT_ROOT}/lib -lVT -ldwarf -lelf -lpthread -lm
-o testcpp_inst



When compiling the C++ application test.cpp with the Intel® C/C++ compiler (mpiicpc) and with Intel® Trace Collector requires an additional library called -lmpiic. The rule for this is that if one uses the MPI-2 C++ application programming interfaces (APIs) with the Intel® C/C++ compilers, then Intel® Trace Collector cannot intercept the MPI calls as they are written. They have to be mapped to C function calls first, with the help of an MPI implementation-specific wrapper library, which with respect to the command-line, has to be placed in front of the Intel® Trace Collector library. The name of that wrapper library for the mpiicpc compilation driver is -lmpiic. Thus, for Intel® 64-based architectures, the command line should be:

mpiicpc test.cpp -g -lmpiic -L${VT_ROOT}/lib -lVT -ldwarf -lelf -lpthread -lm
-o testcpp_inst
Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.