HPCToolkit / hpctoolkit

HPCToolkit performance tools: measurement and analysis components

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to figure out which native proxy events to use with derived events?

NicolasWinsten opened this issue · comments

On my architecture, papi_avail shows that -- for example -- PAPI_L1_DCA is available but derived. So when I try to run:
mpirun -np 1 hpcrun -e PAPI_TOT_CYC -e PAPI_TOT_INS -e PAPI_L1_DCA <myprogram.exe>

I get the error:
HPCToolkit fatal error: PAPI event PAPI_L1_DCA is a derived event and thus cannot be profiled.

The docs mention that a native event may be required for proxy sampling a derived event. How can I find out which native event I need to use for a particular derived event?

Thank you for any help!

Note: I am using IBM Power9

Use papi_avail -d to see the definitions of the derived events. The definition of a derived event will tell you what collection of native events you can sample. You can compute the derived event in HPCToolkit's hpcviewer user interface as an expression computed from native event measurements.