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

PAPI: what does Clock reference cycles mean?

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

我想知道(PAPI_REF_CYC:参考时钟周期)到底是什么意思?

提前致谢,

一些现代 CPU,包括英特尔和 AMD 的 throttled
这意味着它们的时钟不是固定的,而是根据激活的电源管理而变化——即使 CPU 的品牌频率是 X Ghz,但通常情况下,它不是 运行ning 在那个频率.

有关一些实际示例技术,请参阅 Intel Turbo boost technology/AMD Turbo core and Intel Enhanced Speedstep technology/AMD Quiet'n'Cool technology

由于核心时钟可以减慢或加快,比较两种不同的措施没有意义。
在 100 个核心时钟中有一个 片段 A 到 运行 和在 200 个核心时钟中有一个 片段 B 意味着 B 通常较慢(它需要双倍的工作量),但不一定 B 比 A 花费更多的时间,因为单位不同。 这就是参考时钟发挥作用的地方 - 它是统一的。
如果 snippet A 运行s 在 100 ref clocks 和 snippet B 运行s in 200 ref clocks 那么 B 真的花了时间比 A 多

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