data fabric counters

74 views
Skip to first unread message

Johann Higl

unread,
Oct 25, 2023, 4:59:49 PM10/25/23
to ptools-...@icl.utk.edu
Hello,

I'm currently working on a machine with AMD Zen2 Cores and would like to
measure the memory bandwidth in my application. This information can be
accessed through the data fabric PMU of AMD CPUs. I managed to do this
successfully through perf, but would also like to track it with PAPI due
to it's better integration with other tools.
Unfortunately I do not see the respective counters with papi_native_avail.
Is it possible to add these?

Best regards,
Johann Higl

Giuseppe Congiu

unread,
Oct 26, 2023, 4:51:04 AM10/26/23
to Johann Higl, ptools-perfapi
Hi Johann,

Memory bandwidth sounds like an uncore type of event. Is the perf_event_uncore component enabled in PAPI? What do you get if you run papi_component_avail?
Typically, this component requires high privilege to be enabled and indeed is normally disabled. In case it is disabled check with you system administrator to enable it.

Hope this helps,
Giuseppe
> --
> You received this message because you are subscribed to the Google Groups "ptools-perfapi" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to ptools-perfap...@icl.utk.edu.
> To view this discussion on the web visit https://groups.google.com/a/icl.utk.edu/d/msgid/ptools-perfapi/bd1a8b62-5e64-023b-253e-079ac95bedf2%40hlrs.de.

Giuseppe Congiu

unread,
Oct 30, 2023, 11:59:29 AM10/30/23
to Johann Higl, ptools-perfapi
Hi Johann,

PAPI reports all the events exposed by libpfm4. If this set of data fabric events is missing it might be that libpfm4 is missing support for the responsible PMU.

Stephane Eranian is the libpfm4 maintainer. You can try contacting him to get some clarification on this matter.

Sorry I can’t be of more help.

Best,
Giuseppe

> On 26 Oct 2023, at 11:48, Johann Higl <johan...@hlrs.de> wrote:
>
> Hi Giuseppe,
>
> yes these are uncore events I'd like to access. Here is the output of papi_component_avail on our system:
>
> --------------------------------------------------------------------------------
> PAPI version : 6.0.0.1
> Operating system : Linux 4.18.0-477.27.1.el8_8.x86_64
> Vendor string and code : AuthenticAMD (2, 0x2)
> Model string and code : AMD EPYC 7742 64-Core Processor (49, 0x31)
> CPU revision : 0.000000
> CPUID : Family/Model/Stepping 23/49/0, 0x17/0x31/0x00
> CPU Max MHz : 2245
> CPU Min MHz : 2245
> Total cores : 256
> SMT threads per core : 2
> Cores per socket : 64
> Sockets : 2
> Cores per NUMA region : 32
> NUMA regions : 8
> Running in a VM : no
> Number Hardware Counters : 5
> Max Multiplex Counters : 384
> Fast counter read (rdpmc): yes
> --------------------------------------------------------------------------------
>
> Compiled-in components:
> Name: perf_event Linux perf_event CPU counters
> Name: perf_event_uncore Linux perf_event CPU uncore and northbridge
>
> Active components:
> Name: perf_event Linux perf_event CPU counters
> Native: 141, Preset: 17, Counters: 5
> PMUs supported: perf, perf_raw, amd64_fam17h_zen2
>
> Name: perf_event_uncore Linux perf_event CPU uncore and northbridge
> Native: 1, Preset: 0, Counters: 3
> PMUs supported: amd64_rapl
>
>
> --------------------------------------------------------------------------------
>
> Our papi installation in principle allows for uncore events, but it doesn't find a PMU for the AMD data fabric. I think this PMU is simply not included yet. Maybe PMU is also the wrong term here, since perf doesn't list these events as PMU. The output of "perf list --details" list these events in a separate section as:
>
> data fabric:
> dram_channel_data_controller_0
> [Unit: amd_df]
> amd_df/umask=0x38,event=0x7/
>
> Do you know what would be necessary to add these counters to papi?
>
> Best regards and thanks for the help,
> Johann
Reply all
Reply to author
Forward
0 new messages