The following figure shows metric sets for the AI Engine (core) module, the memory module,
and the interface module. These metric sets are generally mutually exclusive. A
metric from one module type (for example, AI Engine) can be used in a combination with a metric from
another module type (for example, memory), based on the requirements of your design.
One exception is the use of mm2s_throughputs
and s2mm_throughputs in which the same metric
is used for both AI Engine and Memory module. Initially, AMD recommends that you use the heat_map
metric for the AI Engine module and conflicts
metric
for memory modules. These settings are specified at run-time and therefore, you can
run them as many times as you would like with your preferences. However, some of
these metrics sets are interconnected because some use group events and others use
individual events. For example, the heat_map
metric
set contains a metric that groups all kinds of stall events in a single metric along
with other metrics that group data transfer events (load/store, streams, cascade,
etc,) and vector instructions. To get a better view of which stall type(s) are
prevalent, re-run with the stalls
metric set. To
better understand execution, re-run with the execution
metric set.
Figure 1. Metric Sets