对所有核心使用perfsuite

时间:2012-10-12 17:32:39

标签: c performancecounter papi

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

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

我在Debian上使用了带有papi 4.4.0的perfsuite 1.1.1。

1 个答案:

答案 0 :(得分:0)

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

它能回答你的问题吗?

TJR