PAPI:时钟参考周期是什么意思?

abd*_*dul 3 cpu metric papi

我正在使用PAPI库来调整和分析我的应用程序。

我想知道(PAPI_REF_CYC:参考时钟周期)的实际含义是什么?

提前致谢,

Mar*_*oom 5

一些现代CPU(包括Intel和AMD的CPU)受到限制
这意味着它们的时钟不是固定的,而是根据激活的电源管理而变化的-即使CPU的品牌频率为X Ghz(通常不是),它也不以该频率运行。

有关几个实际示例技术,请参阅Intel Turbo boost技术 / AMD Turbo内核Intel Enhanced Speedstep技术 / AMD Quiet'n'Cool技术

由于核心时钟可能会减慢或加快速度,因此比较两种不同的方法没有任何意义。
具有片段甲于100个核心时钟运行和片断乙在200个核心时钟装置B是在一般(它需要两倍的工作)慢,但不一定是乙花更多的时间比A由于单位是不同的。那就是参考时钟起作用的地方-它是统一的。
如果代码段A以100个参考时钟运行,代码段B以200个参考时钟运行,那么B确实比A花费了更多时间。

将参考时钟滴答转换为时间(例如秒)并非易事,即使是具有相同品牌名称的处理器,每个处理器也会使用不同的参考频率。

  • 定义是正确的,但也许比较示例可能相反:即,您_应该_比较真实周期,而不是参考周期(这实际上只是未停止的挂钟时间)。如果一段代码运行 100 个实际周期和 100 个引用周期,而另一个代码段运行 200 个实际周期和 100 个引用周期(因为平均 CPU 频率是第一种情况的两倍),那么它们执行相同的操作,还是第二个是否需要双倍的“时间”(通过以两倍的频率运行可以方便地抵消)?正确的解释取决于 CPU 或 L3/内存是否受限。 (2认同)