I've actually asked this question on a different thread, but thought it's more appropriate to open a new question.
I have a problem measuring any L3-Cache-related events on a Magny-Cours system with 4 cpus, 12-core each (two groups of 6 cores).
I'm using PAPI which allows me to set the counter mask (Unit Mask) as an integer number from 0-255;
I'm trying to get the L3 misses on one specific core, I follow your advice and the documentation and select the core using UnitMask[7:4] and set UnitMask[2:0] to 111b. Strangely, when I do that, I receive a zero count.
I tried all combinations for the UnitMask, in fact I ran my little app with UnitMask = 0 up to 255 and the only time I get a count is when the unit mask = 0 and when it's equal to 1.
I use taskset -c to pin my run onto a specific core; I tried pinning to different cores 0, 1, 2, 3,4,5 but the same thing happens??
Am I doing something wrong?
The command I'm using looks like the following (note: I'm using PAPI thru papiex command-line tool and everything else works but anything with L3 does not seem to be working)
taskset -c 21 papiex -eL3_CACHE_MISSES:c=7 -- ./a.out
where c=7 specifies the mask using an integer from 0-255
I'd appreciate any input.