1PAPI_presets(3) PAPI PAPI_presets(3)
2
3
4
6 PAPI_presets - PAPI predefined named events
7
8
10 #include <papi.h>
11
12
14 The PAPI library names a number of predefined, or preset events. This
15 set is a collection of events typically found in many CPUs that provide
16 performance counters. A PAPI preset event name is mapped onto one or
17 more of the countable native events on each hardware platform. On any
18 particular platform, the preset can either be directly available as a
19 single counter, derived using a combination of counters or unavailable.
20
21 The PAPI preset events can be broken loosely into several categories,
22 as shown in the table below:
23
24 PAPI Preset Event Definitions by Category:
25
26 ┌─────────────┬───────────────────────────────────────────────┐
27 │ │ │
28 │ │ │
29 │ │ │
30() │ │ │ ()
31 │ │ │
32 │ │ │
33 │ │ │
34 │ Name │ Description │
35 ├─────────────┴───────────────────────────────────────────────┤
36 │ Conditional Branching │
37 ├─────────────┬───────────────────────────────────────────────┤
38 │PAPI_BR_CN │ Conditional branch instructions │
39 ├─────────────┼───────────────────────────────────────────────┤
40 ├─────────────┼───────────────────────────────────────────────┤
41 │PAPI_BR_INS │ Branch instructions │
42 ├─────────────┼───────────────────────────────────────────────┤
43 ├─────────────┼───────────────────────────────────────────────┤
44 │PAPI_BR_MSP │ Conditional branch instructions mispredicted │
45 ├─────────────┼───────────────────────────────────────────────┤
46 ├─────────────┼───────────────────────────────────────────────┤
47 │PAPI_BR_NTK │ Conditional branch instructions not taken │
48 ├─────────────┼───────────────────────────────────────────────┤
49 ├─────────────┼───────────────────────────────────────────────┤
50 │PAPI_BR_PRC │ Conditional branch instructions correctly │
51 │ │ predicted │
52 ├─────────────┼───────────────────────────────────────────────┤
53 ├─────────────┼───────────────────────────────────────────────┤
54 │PAPI_BR_TKN │ Conditional branch instructions taken │
55 ├─────────────┼───────────────────────────────────────────────┤
56 ├─────────────┼───────────────────────────────────────────────┤
57 │PAPI_BR_UCN │ Unconditional branch instructions │
58 ├─────────────┼───────────────────────────────────────────────┤
59 ├─────────────┼───────────────────────────────────────────────┤
60 │PAPI_BRU_IDL │ Cycles branch units are idle │
61 ├─────────────┼───────────────────────────────────────────────┤
62 ├─────────────┼───────────────────────────────────────────────┤
63 │PAPI_BTAC_M │ Branch target address cache misses │
64 ├─────────────┴───────────────────────────────────────────────┤
65 │ Cache Requests: │
66 ├─────────────┬───────────────────────────────────────────────┤
67 │PAPI_CA_CLN │ Requests for exclusive access to clean cache │
68 │ │ line │
69 ├─────────────┼───────────────────────────────────────────────┤
70 ├─────────────┼───────────────────────────────────────────────┤
71 │PAPI_CA_INV │ Requests for cache line invalidation │
72 ├─────────────┼───────────────────────────────────────────────┤
73 ├─────────────┼───────────────────────────────────────────────┤
74 │PAPI_CA_ITV │ Requests for cache line intervention │
75 ├─────────────┼───────────────────────────────────────────────┤
76 ├─────────────┼───────────────────────────────────────────────┤
77 │PAPI_CA_SHR │ Requests for exclusive access to shared cache │
78 │ │ line │
79 ├─────────────┼───────────────────────────────────────────────┤
80 ├─────────────┼───────────────────────────────────────────────┤
81 │PAPI_CA_SNP │ Requests for a snoop │
82 ├─────────────┴───────────────────────────────────────────────┤
83 │ Conditional Store: │
84 ├─────────────┬───────────────────────────────────────────────┤
85 │PAPI_CSR_FAL │ Failed store conditional instructions │
86 ├─────────────┼───────────────────────────────────────────────┤
87 ├─────────────┼───────────────────────────────────────────────┤
88 │PAPI_CSR_SUC │ Successful store conditional instructions │
89 ├─────────────┼───────────────────────────────────────────────┤
90 ├─────────────┼───────────────────────────────────────────────┤
91 │PAPI_CSR_TOT │ Total store conditional instructions │
92 ├─────────────┴───────────────────────────────────────────────┤
93 │ Floating Point Operations: │
94 ├─────────────┬───────────────────────────────────────────────┤
95 │PAPI_FAD_INS │ Floating point add instructions │
96 ├─────────────┼───────────────────────────────────────────────┤
97 ├─────────────┼───────────────────────────────────────────────┤
98 │PAPI_FDV_INS │ Floating point divide instructions │
99 ├─────────────┼───────────────────────────────────────────────┤
100 ├─────────────┼───────────────────────────────────────────────┤
101 │PAPI_FMA_INS │ FMA instructions completed │
102 ├─────────────┼───────────────────────────────────────────────┤
103 ├─────────────┼───────────────────────────────────────────────┤
104 │PAPI_FML_INS │ Floating point multiply instructions │
105 ├─────────────┼───────────────────────────────────────────────┤
106 ├─────────────┼───────────────────────────────────────────────┤
107 │PAPI_FNV_INS │ Floating point inverse instructions │
108 ├─────────────┼───────────────────────────────────────────────┤
109 ├─────────────┼───────────────────────────────────────────────┤
110 │PAPI_FP_INS │ Floating point instructions │
111 ├─────────────┼───────────────────────────────────────────────┤
112 ├─────────────┼───────────────────────────────────────────────┤
113 │PAPI_FP_OPS │ Floating point operations │
114 ├─────────────┼───────────────────────────────────────────────┤
115 ├─────────────┼───────────────────────────────────────────────┤
116 │PAPI_FP_STAL │ Cycles the FP unit │
117 ├─────────────┼───────────────────────────────────────────────┤
118 ├─────────────┼───────────────────────────────────────────────┤
119 │PAPI_FPU_IDL │ Cycles floating point units are idle │
120 ├─────────────┼───────────────────────────────────────────────┤
121 ├─────────────┼───────────────────────────────────────────────┤
122 │PAPI_FSQ_INS │ Floating point square root instructions │
123 ├─────────────┴───────────────────────────────────────────────┤
124 │ Instruction Counting: │
125 ├─────────────┬───────────────────────────────────────────────┤
126 │PAPI_FUL_CCY │ Cycles with maximum instructions completed │
127 ├─────────────┼───────────────────────────────────────────────┤
128 ├─────────────┼───────────────────────────────────────────────┤
129 │PAPI_FUL_ICY │ Cycles with maximum instruction issue │
130 ├─────────────┼───────────────────────────────────────────────┤
131 ├─────────────┼───────────────────────────────────────────────┤
132 │PAPI_FXU_IDL │ Cycles integer units are idle │
133 ├─────────────┼───────────────────────────────────────────────┤
134 ├─────────────┼───────────────────────────────────────────────┤
135 │PAPI_HW_INT │ Hardware interrupts │
136 ├─────────────┼───────────────────────────────────────────────┤
137 ├─────────────┼───────────────────────────────────────────────┤
138 │PAPI_INT_INS │ Integer instructions │
139 ├─────────────┼───────────────────────────────────────────────┤
140 ├─────────────┼───────────────────────────────────────────────┤
141 │PAPI_TOT_CYC │ Total cycles │
142 ├─────────────┼───────────────────────────────────────────────┤
143 ├─────────────┼───────────────────────────────────────────────┤
144 │PAPI_TOT_IIS │ Instructions issued │
145 ├─────────────┼───────────────────────────────────────────────┤
146 ├─────────────┼───────────────────────────────────────────────┤
147 │PAPI_TOT_INS │ Instructions completed │
148 ├─────────────┼───────────────────────────────────────────────┤
149 ├─────────────┼───────────────────────────────────────────────┤
150 │PAPI_VEC_INS │ Vector/SIMD instructions │
151 ├─────────────┴───────────────────────────────────────────────┤
152 │ Cache Access: │
153 ├─────────────┬───────────────────────────────────────────────┤
154 │PAPI_L1_DCA │ L1 data cache accesses │
155 ├─────────────┼───────────────────────────────────────────────┤
156 ├─────────────┼───────────────────────────────────────────────┤
157 │PAPI_L1_DCH │ L1 data cache hits │
158 ├─────────────┼───────────────────────────────────────────────┤
159 ├─────────────┼───────────────────────────────────────────────┤
160 │PAPI_L1_DCM │ L1 data cache misses │
161 ├─────────────┼───────────────────────────────────────────────┤
162 ├─────────────┼───────────────────────────────────────────────┤
163 │PAPI_L1_DCR │ L1 data cache reads │
164 ├─────────────┼───────────────────────────────────────────────┤
165 ├─────────────┼───────────────────────────────────────────────┤
166 │PAPI_L1_DCW │ L1 data cache writes │
167 ├─────────────┼───────────────────────────────────────────────┤
168 ├─────────────┼───────────────────────────────────────────────┤
169 │PAPI_L1_ICA │ L1 instruction cache accesses │
170 ├─────────────┼───────────────────────────────────────────────┤
171 ├─────────────┼───────────────────────────────────────────────┤
172 │PAPI_L1_ICH │ L1 instruction cache hits │
173 ├─────────────┼───────────────────────────────────────────────┤
174 ├─────────────┼───────────────────────────────────────────────┤
175 │PAPI_L1_ICM │ L1 instruction cache misses │
176 ├─────────────┼───────────────────────────────────────────────┤
177 ├─────────────┼───────────────────────────────────────────────┤
178 │PAPI_L1_ICR │ L1 instruction cache reads │
179 ├─────────────┼───────────────────────────────────────────────┤
180 ├─────────────┼───────────────────────────────────────────────┤
181 │PAPI_L1_ICW │ L1 instruction cache writes │
182 ├─────────────┼───────────────────────────────────────────────┤
183 ├─────────────┼───────────────────────────────────────────────┤
184 │PAPI_L1_LDM │ L1 load misses │
185 ├─────────────┼───────────────────────────────────────────────┤
186 ├─────────────┼───────────────────────────────────────────────┤
187 │PAPI_L1_STM │ L1 store misses │
188 ├─────────────┼───────────────────────────────────────────────┤
189 ├─────────────┼───────────────────────────────────────────────┤
190 │PAPI_L1_TCA │ L1 total cache accesses │
191 ├─────────────┼───────────────────────────────────────────────┤
192 ├─────────────┼───────────────────────────────────────────────┤
193 │PAPI_L1_TCH │ L1 total cache hits │
194 ├─────────────┼───────────────────────────────────────────────┤
195 ├─────────────┼───────────────────────────────────────────────┤
196 │PAPI_L1_TCM │ L1 total cache misses │
197 ├─────────────┼───────────────────────────────────────────────┤
198 ├─────────────┼───────────────────────────────────────────────┤
199 │PAPI_L1_TCR │ L1 total cache reads │
200 ├─────────────┼───────────────────────────────────────────────┤
201 ├─────────────┼───────────────────────────────────────────────┤
202 │PAPI_L1_TCW │ L1 total cache writes │
203 ├─────────────┼───────────────────────────────────────────────┤
204 ├─────────────┼───────────────────────────────────────────────┤
205 │PAPI_L2_DCA │ L2 data cache accesses │
206 ├─────────────┼───────────────────────────────────────────────┤
207 ├─────────────┼───────────────────────────────────────────────┤
208 │PAPI_L2_DCH │ L2 data cache hits │
209 ├─────────────┼───────────────────────────────────────────────┤
210 ├─────────────┼───────────────────────────────────────────────┤
211 │PAPI_L2_DCM │ L2 data cache misses │
212 ├─────────────┼───────────────────────────────────────────────┤
213 ├─────────────┼───────────────────────────────────────────────┤
214 │PAPI_L2_DCR │ L2 data cache reads │
215 ├─────────────┼───────────────────────────────────────────────┤
216 ├─────────────┼───────────────────────────────────────────────┤
217 │PAPI_L2_DCW │ L2 data cache writes │
218 ├─────────────┼───────────────────────────────────────────────┤
219 ├─────────────┼───────────────────────────────────────────────┤
220 │PAPI_L2_ICA │ L2 instruction cache accesses │
221 ├─────────────┼───────────────────────────────────────────────┤
222 ├─────────────┼───────────────────────────────────────────────┤
223 │PAPI_L2_ICH │ L2 instruction cache hits │
224 ├─────────────┼───────────────────────────────────────────────┤
225 ├─────────────┼───────────────────────────────────────────────┤
226 │PAPI_L2_ICM │ L2 instruction cache misses │
227 ├─────────────┼───────────────────────────────────────────────┤
228 ├─────────────┼───────────────────────────────────────────────┤
229 │PAPI_L2_ICR │ L2 instruction cache reads │
230 ├─────────────┼───────────────────────────────────────────────┤
231 ├─────────────┼───────────────────────────────────────────────┤
232 │PAPI_L2_ICW │ L2 instruction cache writes │
233 ├─────────────┼───────────────────────────────────────────────┤
234 ├─────────────┼───────────────────────────────────────────────┤
235 │PAPI_L2_LDM │ L2 load misses │
236 ├─────────────┼───────────────────────────────────────────────┤
237 ├─────────────┼───────────────────────────────────────────────┤
238 │PAPI_L2_STM │ L2 store misses │
239 ├─────────────┼───────────────────────────────────────────────┤
240 ├─────────────┼───────────────────────────────────────────────┤
241 │PAPI_L2_TCA │ L2 total cache accesses │
242 ├─────────────┼───────────────────────────────────────────────┤
243 ├─────────────┼───────────────────────────────────────────────┤
244 │PAPI_L2_TCH │ L2 total cache hits │
245 ├─────────────┼───────────────────────────────────────────────┤
246 ├─────────────┼───────────────────────────────────────────────┤
247 │PAPI_L2_TCM │ L2 total cache misses │
248 ├─────────────┼───────────────────────────────────────────────┤
249 ├─────────────┼───────────────────────────────────────────────┤
250 │PAPI_L2_TCR │ L2 total cache reads │
251 ├─────────────┼───────────────────────────────────────────────┤
252 ├─────────────┼───────────────────────────────────────────────┤
253 │PAPI_L2_TCW │ L2 total cache writes │
254 ├─────────────┼───────────────────────────────────────────────┤
255 ├─────────────┼───────────────────────────────────────────────┤
256 │PAPI_L3_DCA │ L3 data cache accesses │
257 ├─────────────┼───────────────────────────────────────────────┤
258 ├─────────────┼───────────────────────────────────────────────┤
259 │PAPI_L3_DCH │ L3 Data Cache Hits │
260 ├─────────────┼───────────────────────────────────────────────┤
261 ├─────────────┼───────────────────────────────────────────────┤
262 │PAPI_L3_DCM │ L3 data cache misses │
263 ├─────────────┼───────────────────────────────────────────────┤
264 ├─────────────┼───────────────────────────────────────────────┤
265 │PAPI_L3_DCR │ L3 data cache reads │
266 ├─────────────┼───────────────────────────────────────────────┤
267 ├─────────────┼───────────────────────────────────────────────┤
268 │PAPI_L3_DCW │ L3 data cache writes │
269 ├─────────────┼───────────────────────────────────────────────┤
270 ├─────────────┼───────────────────────────────────────────────┤
271 │PAPI_L3_ICA │ L3 instruction cache accesses │
272 ├─────────────┼───────────────────────────────────────────────┤
273 ├─────────────┼───────────────────────────────────────────────┤
274 │PAPI_L3_ICH │ L3 instruction cache hits │
275 ├─────────────┼───────────────────────────────────────────────┤
276 ├─────────────┼───────────────────────────────────────────────┤
277 │PAPI_L3_ICM │ L3 instruction cache misses │
278 ├─────────────┼───────────────────────────────────────────────┤
279 ├─────────────┼───────────────────────────────────────────────┤
280 │PAPI_L3_ICR │ L3 instruction cache reads │
281 ├─────────────┼───────────────────────────────────────────────┤
282 ├─────────────┼───────────────────────────────────────────────┤
283 │PAPI_L3_ICW │ L3 instruction cache writes │
284 ├─────────────┼───────────────────────────────────────────────┤
285 ├─────────────┼───────────────────────────────────────────────┤
286 │PAPI_L3_LDM │ L3 load misses │
287 ├─────────────┼───────────────────────────────────────────────┤
288 ├─────────────┼───────────────────────────────────────────────┤
289 │PAPI_L3_STM │ L3 store misses │
290 ├─────────────┼───────────────────────────────────────────────┤
291 ├─────────────┼───────────────────────────────────────────────┤
292 │PAPI_L3_TCA │ L3 total cache accesses │
293 ├─────────────┼───────────────────────────────────────────────┤
294 ├─────────────┼───────────────────────────────────────────────┤
295 │PAPI_L3_TCH │ L3 total cache hits │
296 ├─────────────┼───────────────────────────────────────────────┤
297 ├─────────────┼───────────────────────────────────────────────┤
298 │PAPI_L3_TCM │ L3 cache misses │
299 ├─────────────┼───────────────────────────────────────────────┤
300 ├─────────────┼───────────────────────────────────────────────┤
301 │PAPI_L3_TCR │ L3 total cache reads │
302 ├─────────────┼───────────────────────────────────────────────┤
303 ├─────────────┼───────────────────────────────────────────────┤
304 │PAPI_L3_TCW │ L3 total cache writes │
305 ├─────────────┴───────────────────────────────────────────────┤
306 │ Data Access: │
307 ├─────────────┬───────────────────────────────────────────────┤
308 │PAPI_LD_INS │ Load instructions │
309 ├─────────────┼───────────────────────────────────────────────┤
310 ├─────────────┼───────────────────────────────────────────────┤
311 │PAPI_LST_INS │ Load/store instructions completed │
312 ├─────────────┼───────────────────────────────────────────────┤
313 ├─────────────┼───────────────────────────────────────────────┤
314 │PAPI_LSU_IDL │ Cycles load/store units are idle │
315 ├─────────────┼───────────────────────────────────────────────┤
316 ├─────────────┼───────────────────────────────────────────────┤
317 │PAPI_MEM_RCY │ Cycles Stalled Waiting for memory Reads │
318 ├─────────────┼───────────────────────────────────────────────┤
319 ├─────────────┼───────────────────────────────────────────────┤
320 │PAPI_MEM_SCY │ Cycles Stalled Waiting for memory accesses │
321 ├─────────────┼───────────────────────────────────────────────┤
322 ├─────────────┼───────────────────────────────────────────────┤
323 │PAPI_MEM_WCY │ Cycles Stalled Waiting for memory writes │
324 ├─────────────┼───────────────────────────────────────────────┤
325 ├─────────────┼───────────────────────────────────────────────┤
326 │PAPI_PRF_DM │ Data prefetch cache misses │
327 ├─────────────┼───────────────────────────────────────────────┤
328 ├─────────────┼───────────────────────────────────────────────┤
329 │PAPI_RES_STL │ Cycles stalled on any resource │
330 ├─────────────┼───────────────────────────────────────────────┤
331 ├─────────────┼───────────────────────────────────────────────┤
332 │PAPI_SR_INS │ Store instructions │
333 ├─────────────┼───────────────────────────────────────────────┤
334 ├─────────────┼───────────────────────────────────────────────┤
335 │PAPI_STL_CCY │ Cycles with no instructions completed │
336 ├─────────────┼───────────────────────────────────────────────┤
337 ├─────────────┼───────────────────────────────────────────────┤
338 │PAPI_STL_ICY │ Cycles with no instruction issue │
339 ├─────────────┼───────────────────────────────────────────────┤
340 ├─────────────┼───────────────────────────────────────────────┤
341 │PAPI_SYC_INS │ Synchronization instructions completed │
342 ├─────────────┴───────────────────────────────────────────────┤
343 │ TLB Operations: │
344 ├─────────────┬───────────────────────────────────────────────┤
345 │PAPI_TLB_DM │ Data translation lookaside buffer misses │
346 ├─────────────┼───────────────────────────────────────────────┤
347 ├─────────────┼───────────────────────────────────────────────┤
348 │PAPI_TLB_IM │ Instruction translation lookaside buffer │
349 │ │ misses │
350 ├─────────────┼───────────────────────────────────────────────┤
351 ├─────────────┼───────────────────────────────────────────────┤
352 │PAPI_TLB_SD │ Translation lookaside buffer shootdowns │
353 ├─────────────┼───────────────────────────────────────────────┤
354 ├─────────────┼───────────────────────────────────────────────┤
355 │PAPI_TLB_TL │ Total translation lookaside buffer misses │
356 └─────────────┴───────────────────────────────────────────────┘
358 Nils Smeds <smeds@cs.utk.edu>
359
360
362 The exact semantics of an event counter are platform dependent. PAPI
363 preset names are mapped onto available events in a way so as to count
364 as similar types of events as possible on different platforms. Due to
365 hardware implementation differences it is not necessarily possible to
366 directly compare the counts of a particular PAPI event obtained on dif‐
367 ferent hardware platforms.
368
369
371 PAPI(3), PAPI_native(3), PAPI_enum_event(3), PAPI_get_event_info(3),
372 PAPI_event_code_to_name(3), PAPI_event_name_to_code(3)
373
374
375
376 ()