Functions of the two trace files A and B are mapped onto each other by their fully
qualified names. These names contain not only the mere function name, but a
hierarchical name constructed by the Intel® Trace Collector with the use of any
information about modules, name spaces and classes that are available at trace
For example the fully qualified name of MPI_Allreduce is MPI:MPI_Allreduce because
the Intel Trace Collector puts all MPI functions into the group MPI. Function groups
defined by the user in the Intel Trace Analyzer have no influence on these full
function names. The function aggregation shows the fully qualified name of a
function in a small tooltip window when the mouse hovers over an entry.
The mapping of function groups is a little more subtle. For function groups that
are within the hierarchy of the automatically created function group
in file A it is tried to find a matching group in B with the
same name and nesting level in the corresponding hierarchy in B.
It works quite well for automatically generated groups. For example MPI is always
mapped to MPI even if the groups differ because the two program runs did use a
different subset of MPI calls. The same is true for groups that were created by
instrumentation using the API provided by the Intel® Trace Collector.
When you create new function groups either by using the Function Aggregation dialog
box or the ubiquitous context menu entries to ungroup existing function groups for
one file then there will be created matching groups for the other file. You can find
these read only groups under the header
in the Function
Aggregation dialog box.