-
Notifications
You must be signed in to change notification settings - Fork 79
Description
Currently in the master branch, if papi_native_avail outputs the cuda native event:
cuda:::dram__bytes
Users could strip the component prefix cuda::: from the native event name and just use dram__bytes which still would result in the event being successfully added.
Per internal discussion this is considered a bug and PR #528 was created to address this behavior.
A unique case for this PR is the "default" component (CPU component aka perf_event) as it contains native events with PMU prefixes i.e. perf::CYCLES and native events that do not SHOW their PMU prefixes i.e. BACLEARS.
For the latter case, even though a PMU prefix does not show for BACLEARS one does exist for it. As an example, if you were on an Intel Skylake it has the PMU prefix skx::.
In reviewing PR 528, Vince had stated that if we forced even the default component to have a prefix it would make things like handling hybrid CPUs a lot easier.
Due to Vince's comment, requiring events that do have PMU prefixes that just simply aren't shown with the native event could be advantageous.
A few caveats to this are:
- Overhauling
papi_events.csvas currently the native events used there do not have a PMU prefix. - Many who use the
perf_eventcomponent and have hard coded events in their application code would see their code break.