likwid-perfctr 不适用于 ryzen 5 3600

likwid-perfctr doesn't work on ryzen 5 3600

我正在尝试在我的 Ryzen 5 3600 和它只能部分工作。 likwid-topology 等一些命令可以正常工作,但是当我尝试使用 likwid-perfctr 时,它说不支持 zen 2,这没有意义,因为它在 github 存储库中列出了 Zen2。 报错信息如下图

user@Ryzen3600:~$ sudo likwid-perfctr -C 1 -g L3 ./main
--------------------------------------------------------------------------------
CPU name:   AMD Ryzen 5 3600 6-Core Processor              
CPU type:   nil
CPU clock:  4.22 GHz
ERROR - [./src/perfmon.c:perfmon_init_maps:1174] Unsupported AMD Zen Processor
Segmentation fault

我正在使用 sudo,否则它会提示我无法访问 msr 模块。

user@Ryzen3600:~$ likwid-perfctr -C 1 -g L3 ./main
--------------------------------------------------------------------------------
CPU name:   AMD Ryzen 5 3600 6-Core Processor              
CPU type:   nil
CPU clock:  4.22 GHz
ERROR - [./src/perfmon.c:perfmon_init_maps:1174] Unsupported AMD Zen Processor
ERROR - [./src/access_x86_msr.c:access_x86_msr_init:193] Permission denied.
Cannot access MSR device file /dev/cpu/1/msr: Permission denied.
ERROR - [./src/access_x86_msr.c:access_x86_msr_init:194] Please check if 'msr' module is loaded and device files have correct permissions
ERROR - [./src/access_x86_msr.c:access_x86_msr_init:195] Alternatively you might want to look into (sys)daemonmode
ERROR - [./src/perfmon.c:perfmon_init:1752] Cannot get access to performance counters

有人遇到过这种问题吗?

我在 Ryzen 9 3900X 上遇到了同样的问题。 LIKWID 开发人员没有用于测试的 Zen2 处理器,因此他们需要用户提供处理器信息并制作了补丁,详情请见此处:

https://github.com/RRZE-HPC/likwid/issues/289