• 2019 Update 3
  • 03/07/2019
  • Public Content
  • Download as PDF

Intel® Trace Collector is automatically initialized within the execution of the
function. During the execution of the
function, the trace data collected in memory or in temporary files is consolidated and written into the permanent trace file(s), and Intel® Trace Collector is terminated. Thus, it is an error to call Intel® Trace Collector API functions before
has been executed or after
has returned.
In non-MPI applications it may be necessary to start and stop Intel® Trace Collector explicitly. These calls also help write programs and libraries that use Intel® Trace Collector without depending on MPI.
can be used to write applications or libraries which work both with and without MPI, depending on whether they are linked with
plus MPI or with
(distributed tracing) and no MPI.
If the MPI that Intel® Trace Collector was compiled for provides
, then
will call
with the parameter required set to
. This is sufficient to initialize multithreaded applications where only the main thread calls MPI. If your application requires a higher thread level, then either use
instead of
or (if
is called for example, by your runtime environment) set the environment variable
to a value of 0 till 3 to choose thread levels
It is not an error to call
twice or after a
In an MPI application written in C, the program parameters must be passed, because the underlying MPI might require them. Otherwise they are optional, and 0 or a NULL pointer may be used. If parameters are passed, then the number of parameters and the array itself may be modified, either by MPI or Intel® Trace Collector itself.
Intel® Trace Collector assumes that
is the executable name and uses this string to find the executable and as the basename for the default logfile name. Other parameters are ignored unless there are special
See the description of the following functions:
The following functions control the tracing of threads in a multithreaded application:
The recording of performance data can be controlled on a per-process basis by calls to the
functions: a thread calling
will no longer record any state changes, MPI communication or counter events. Tracing can be re-enabled by calling the
function. The collection of statistics data is not affected by calls to these functions. With the API function
a process can query whether events are currently being recorded.
See the description of functions:
With the Intel® Trace Collector configuration mechanisms described in Filtering Trace Data, the recording of state changes can be controlled per symbol or activity. For any defined symbol, the
function returns whether data recording for that symbol has been disabled.
Find the function description in the following section:
Intel® Trace Collector minimizes the instrumentation overhead by first storing the recorded trace data locally in the memory of each processor and saving it to disk only when the memory buffers are filled up. Calling the
function forces a process to save the in-memory trace data to disk, and mark the duration of this in the trace. After returning, Intel® Trace Collector continues to work normally.
Intel® Trace Collector makes its internal clock available to applications, which can be useful to write instrumentation code that works with MPI and non-MPI applications.
For more detailed information, refer to the following sections:

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804