【发布时间】:2018-12-28 12:31:24
【问题描述】:
我想知道如何使用 perf 正确测量每个周期的指令。作为参考:http://www2.engr.arizona.edu/~tosiron/papers/SPEC2017_ISPASS18.pdf 使用inst_retired.any 和cpu_clk_unhalted.ref_tsc 进行计算,我现在想知道这是否是正确的方法。相比之下,PAPI 使用硬件计数器PAPI_TOT_INS 和PAPI_TOT_CYC 来计算 IPC。
经过一些测量,我得出结论:
-
inst_retired.any:u好像和PAPI_TOT_INS一样 -
cpu-cycles好像和PAPI_TOT_CYC一样
在一个示例基准测试中,cpu-cycles 与 cpu_clk_unhalted.ref_tsc 相差约 25%。现在的问题是,这两个值中哪一个是正确的计算值?还是两种方法都错了?
【问题讨论】:
-
如果您提供有关应用程序、系统和系统配置的具体信息,我们可以提供更好的答案。
标签: x86 performancecounter perf papi