I am trying to make PAPI work on an NVIDIA SoC called Xavier and it has an ARM Carmel CPU.
When I run
papi_component_avail it was not showing any counter and was complaining about perf.
I found out perf is not installed. For example, if I run perf, it shows the following:
---------------------------------------------------------------------------------------------------------------
..../rodinia_3.1/cuda/streamcluster# perf
WARNING: perf not found for kernel 4.9.140
You may need to install the following packages for this specific kernel:
linux-tools-4.9.140-tegra
linux-cloud-tools-4.9.140-tegra
You may also want to install one of the following packages to keep up to date:
linux-tools-tegra
linux-cloud-tools-tegra
-----------------------------------------------------------------------------------------------------------------------------------
I could not find these kernel, so I downloaded the latest source code for Linux tools and built perf. Now I can see the output of perf list.
However, when I added perf on path, it is complaining about libpfm4 like below:
--------------------------------------------------------------------------------------------------------------------------------------
..../papi/install/bin# ./papi_component_avail
Available components and hardware information.
PAPI version : 5.7.1.0
Operating system : Linux 4.9.140-tegra
Vendor string and code : ARM (7, 0x7)
Model string and code : ARMv8 Processor rev 0 (v8l) (0, 0x0)
CPU revision : 0.000000
CPUID : Family/Model/Stepping 8/4/0, 0x08/0x04/0x00
CPU Max MHz : 2265
CPU Min MHz : 115
Total cores : 8
SMT threads per core : 1
Cores per socket : 2
Sockets : 4
Cores per NUMA region : 8
NUMA regions : 0
Running in a VM : no
Number Hardware Counters : 0
Max Multiplex Counters : 384
Fast counter read (rdpmc): no
Compiled-in components:
Name: perf_event Linux perf_event CPU counters
\-> Disabled: Unknown libpfm4 related error
Name: perf_event_uncore Linux perf_event CPU uncore and northbridge
\-> Disabled: No uncore PMUs or events found
Active components:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
So, I downloaded libpfm4 from
and built and installed it. But still, the error is there.
Here is the info of my hardware and os:
root@xavier:/home/66m/rodinia_3.1/cuda/streamcluster# uname -a
Linux xavier 4.9.140-tegra #1 SMP PREEMPT Wed Mar 13 00:30:11 PDT 2019 aarch64 aarch64 aarch64 GNU/Linux
Do I need to enable any flag? or what am I missing?
Any help will be highly appreciated.
Thanks.
Monil
Intern at FTG, ORNL.
PhD Student,
University of Oregon.