You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On Intel systems, you can collect topdown PAPI counter statistics by using
155
+
command line arguments
156
+
157
+
``--add-to-spot-config, -atsc <string> [Default is none]``
158
+
159
+
This appends additional parameters to the built-in Caliper spot config.
160
+
161
+
To include some PAPI counters (Intel arch), add the following to the command
162
+
line
163
+
164
+
``-atsc topdown.all``
165
+
166
+
Caliper's topdown service generates derived metrics from raw PAPI counters;
167
+
a hierarchy of metrics to identify bottlenecks in out-of-order processors.
168
+
This is based on an an approach described in Ahmad Yasin's paper
169
+
*A Top-Down Method for Performance Analysis and Counters Architecture*. The
170
+
top level of the hierarchy has a reliable set of four derived metrics or
171
+
starting weights (sum to 1.0) which include:
172
+
173
+
#. **Frontend Bound.** Stalls attributed to the front end which is responsible for fetching and decoding program code.
174
+
#. **Bad Speculation.** Fraction of the workload that is affected by incorrect execution paths, i.e. branch misprediction penalties
175
+
#. **Retiring.** Increases in this category reflects overall Instructions Per Cycle (IPC) fraction which is good in general. However, a large retiring fraction for non-vectorized code could also be a hint to the user to vectorize their code (see Yasin's paper)
176
+
#. **Backend Bound.** Memory Bound where execution stalls are related to the memory subsystem, or Core Bound where execution unit occupancy is sub-optimal lowering IPC (more compiler dependent)
0 commit comments