Intel® Trace Collector for MPI applications produces tracefiles that can be analyzed with Intel® Trace Analyzer performance analysis tool. Some Intel® Trace Collector versions are also able to trace non-MPI applications, like socket communication in distributed applications or plain serial programs. It was formerly known as Vampirtrace*.
In MPI, it records all calls to the MPI library and all transmitted messages, and allows arbitrary user defined events to be recorded. Instrumentation can be switched on or off at runtime, and a powerful filtering mechanism helps to limit the amount of the generated trace data.
Intel® Trace Collector is an add-on for existing MPI implementations; using it merely requires re-linking the application with the Intel® Trace Collector profiling library. This will enable the tracing of all calls to MPI routines, as well as all explicit message-passing. On some platforms, calls to user-level subroutines and functions will also be recorded.
Shared libraries allow the attachment of the Intel® Trace Collector without any explicit linking step.
To define and trace user-defined events, or to use the profiling control functions, calls to the Intel® Trace Collector API have to be inserted into the source code of the application. This implies a recompilation of all affected source modules.
A special dummy version of the profiling libraries containing empty definitions for all Intel® Trace Collector API routines can be used to switch off tracing just by re-linking.