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.