I have a system with AMD EPYC 7551 32-Core Processor running Ubuntu and with AMDuProf installed
I have been trying to collect L3 counters but i get the following message
Running the example cmd in uProf User guide
AMDuProfCLI collect -e event=timer,interval=1 -e event=0xb001,umask=0x80,slicemask=0xF,threadmask=0xFF -a -d 10
There was a problem configuring the L3 profile event(0xb001).
Also tried the command posted in another discussion thread
./AMDuProfCLI collect -e event=timer,interval=1 -e event=0xb006,umask=0x01,slicemask=0xF,threadmask=0xFF -a -d 10 -o /tmp/out
There was a problem configuring the L3 profile event(0xb006).
Why is this counter not working ? I am running as root.
Recall that EPYC implements multiple L3 caches where each L3 is part of a Compute Complex (CCX). When you are collecting thread counts you need to specify which CCX for which you want to collect L3 counts.
Please try a threadmask where the only set bit is the first CPU in the CCX you wish to profile (e.g. CPU 0 for CCX0 on die 0 socket 0, CPU 4 on a 32 core part for CCX1 on die 0 socket 0). The lstopo program from the Portable Hardware Locality library (hwloc) on Linux is handy for showing you which CPUs are sharing which L3.
Not 100% sure this is your problem, but even if not, this may be helpful.
I tried with different threadmasks like Ox01 , but I still get the same error. I want to profile and L3 miss counts from all slices, are you able to collect L3 misses on your system, if so can you share the profiling command?
L3 profiling is not yet supported on Linux platforms, so far supported only on Windows platforms. This is in our pipeline and should be available in the future releases.
L3/DF counters are not supported on Linux yet.To get the list of supported events on a system, please use the command "./AMDuProfCLI collect --list cpu-events". The list of supported events might be different on different systems/platforms.