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

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

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

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

【问题讨论】:

    标签: c performancecounter papi


    【解决方案1】:

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

    它回答了你的问题吗?

    tjr

    【讨论】:

    • 感谢您的回答。我不知道 PCM 是如何工作的。而且我不确定您对 PAPI 的说法是否属实。在任何情况下,我的线程都在每个核心运行一个,使用亲和力。所以,PAPI 应该可以工作,这正是我所需要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 2016-03-08
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    相关资源
    最近更新 更多