【问题标题】:how to get started with PCM?如何开始使用 PCM?
【发布时间】: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.py is 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 命令行前端通过作为标准内核一部分的 perf API 访问相同的硬件性能计数器。尝试运行perf stat /bin/true 以查看perf 是否在您的系统上正常工作。如果有,但英特尔的软件没有,它可能需要自己的内核模块(您需要加载)。

标签: c++ intel performancecounter


【解决方案1】:

发现 Roman Dementiev 的解决方法 here 对我有用:

作为一种解决方法,您可以通过删除“-DPCM_USE_PERF”来禁用 PCM Makefile 中的 perf 使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 2011-09-08
    • 2010-09-07
    • 2011-03-29
    相关资源
    最近更新 更多