对所有核心使用 perfsuite

Posted

技术标签:

【中文标题】对所有核心使用 perfsuite【英文标题】:Use perfsuite for all core 【发布时间】:2012-10-12 17:32:38 【问题描述】:

我正在尝试使用 perfsuite(内部使用 papi)来测量函数周围的一些性能计数器。此函数为每个内核生成一个线程。 问题是,如果我在函数调用之前启动计数器并在调用之后停止它们,我会得到这些计数器的错误值。 但如果该函数不创建任何线程,它会得到正确的值。

我知道 psrun 可以获取可执行文件的所有内核的计数器。但我希望函数调用具有相同的功能,而不是可执行文件。

我在 Debian 上使用来自 C 的 perfsuite 1.1.1 和 papi 4.4.0。

【问题讨论】:

【参考方案1】:

PAPI 计数基于线程而不是内核。如果您想要后者,您可能需要考虑使用 intel pcm - 它能够提供每个核心的计数。

它回答了你的问题吗?

tjr

【讨论】:

感谢您的回答。我不知道 PCM 是如何工作的。而且我不确定您对 PAPI 的说法是否属实。在任何情况下,我的线程都在每个核心运行一个,使用亲和力。所以,PAPI 应该可以工作,这正是我所需要的。

以上是关于对所有核心使用 perfsuite的主要内容,如果未能解决你的问题,请参考以下文章

在对所有可能的核心文件进行更改后,无法从 Magento 的价格中删除十进制值

在核心数据中搜索所有具有空“对多”关系的对象

iPhone核心数据得到孙子

Magical Record 手动丢弃对尚未保存到数据库的所有实体的所有更改

我对核心数据有些困惑?

核心数据对多关系 NSPredicate 来获取