User Guide


Finding Tasks with Small Durations

Tasks executed by a flow graph are spawned as
Intel® oneAPI Threading Building Blocks
) tasks, so the task duration must be large enough to amortize the cost of a task spawn.
Finding Tasks with Small Durations using Statistics
  1. Open the
    tab in the bottom pane.
  2. Open the
    tab to see execution time metrics. The metrics are computed as the mean and standard deviation for each node based on the execution traces.
  3. Sort the resulting data by the
    Avg Task Duration
    column to identify the nodes with the smallest average durations.
Any node with an average duration of a few microseconds requires that you additionally inspect it, because any concurrency gained by its parallel execution may be overwhelmed by its scheduling costs.
sample graph that executed 250 times
The screenshot above shows a sample graph that executed 250 times. Notice the
column, which is the number of times a node executes, is 250 for all functional nodes. Inspect the
Avg Task Duration
column for nodes that execute in a few microseconds.
Times are provided in milliseconds.
Finding Tasks with Small Durations using Treemap
Another way to visualize task durations and the average concurrencies of each node is the Treemap view in the
Analysis Mode
tab. If multiple graphs are present in the application run, you see a high-level treemap showing the health of all the graphs in the run.
The Treemap view organizes the nodes in the graph by node durations. The larger the area of the square, the more time the node spent on the CPU. The node color is determined by the average observed concurrency of the graph while the node was running, and the colors use the same scale as in the active thread chart. A red node indicates poor concurrency when the node is executed on the system.
Hover a mouse over the Treemap to see the details about nodes in the graph. Double-click the graph in the Treemap view to keep the node treemap visible.
General health > Mouse hover for details > Double-click
When a graph has nested subgraphs, the treemap presents this information by embedding the nested subgraph in the node which spawned the subgraph. This is visually represented by increasing the width of the border surrounding each node that contain subgraphs.
  • Hover the mouse over a node that has embedded subgraphs to see the hidden subgraph.
  • Double-click the node to zoom to the child-node level and see the contents of the embedded subgraph as a treemap.
Click any node in the Treemap view to highlight that node in the graph view on the canvas. If you select the default zoom factor or reset the zoom factor, clicking a node in the Treemap view zooms in and centers on the node in the graph view. The smaller the node size, the smaller the tasks executed by that node.
The Treemap view supports three different layouts for visualizing the treemap: squarified layout, alternating layout, and snake layout. All three layouts use:
  • The node CPU time to determine the size of each node in the treemap
  • The average concurrency observed in the graph while a node was active to determine the color
To switch between layouts:
  1. Open the
  2. Go to the
  3. Change the value of the
    Default Treemap Rendering
    option in the
    Analysis View

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at