【发布时间】:2016-02-15 10:56:21
【问题描述】:
我想从事英特尔 PCM 方面的工作。我点击了以下链接:
https://software.intel.com/en-us/articles/intel-performance-counter-monitor
我下载了代码,我开始研究示例 pcm.cpp。但我没有得到任何正确的理解。文档不是很清楚。
http://intel-pcm-api-documentation.github.io/classPCM.html
我尝试运行 pcm.x,它提供了基本信息,然后显示了一些错误,例如:
“正在尝试使用 Linux 性能事件... Linux Perf:编程通用事件 #0 错误:参数无效 对 Intel(r) 性能计数器监视器的访问被拒绝(未知错误)。”
未知错误!我无法弄清楚为什么它无法访问。我也与 sudo 一起使用(root 权限)。
有什么建议我可以开始使用它吗?从哪里开始?
【问题讨论】:
-
您是否在虚拟机中运行?通常 Linux 允许非特权进程使用性能计数器。
ocperf.pyis nice:它是perf的包装,具有更多特定于 uarch 的性能计数器的符号名称: -
建议您在英特尔论坛software.intel.com/en-us/forums/…发帖
-
@Peter:谢谢。我没有使用虚拟机,而是使用 Ubuntu 14.04。 rdmsr 和 wrmsr 正在工作,这意味着我有权限!那个python脚本有什么帮助??当我尝试运行时,出现错误:“Traceback(最近一次调用最后一次):文件“/home/anthony/Downloads/IntelPerformanceCounterMonitor-PCM-V2.10/test.py”,第 52 行,来自 pmudef 的
import * ImportError: No module named pmudef" -
@codecats:谢谢我已经浏览了那个链接。我没有得到任何好的信息。
-
ocperf.py 对使用英特尔 PCM 库(或任何其他库)没有帮助。它确实有助于使用现有的 Linux
perf命令行前端通过作为标准内核一部分的perfAPI 访问相同的硬件性能计数器。尝试运行perf stat /bin/true以查看perf是否在您的系统上正常工作。如果有,但英特尔的软件没有,它可能需要自己的内核模块(您需要加载)。
标签: c++ intel performancecounter