我想知道如何使用 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_INScpu-cycles似乎和PAPI_TOT_CYC
在一个示例基准上,cpu-cycles相差cpu_clk_unhalted.ref_tsc约 25%。现在的问题是,这两个值中哪一个是正确的计算值?还是两种方法都错了?