常春藤桥上的活动与PAPI

时间:2013-02-27 22:32:55

标签: papi

我正在使用PAPI做一些测量和特色工作,我对常春藤桥上的事件有几个问题。

  1. 基于SDM表19-5(第三代Intel®Core™i7,i5,i3处理器的处理器内核中的非架构性能事件),Ivy Bridge具有名为CYCLE_ACTIVITY.CYCLES_LDM_PENDING的计数器,CYCLE_ACTIVITY.CYCLES_L1D_PENDINGCYCLE_ACTIVITY.CYCLES_L2_PENDING。但是,当我尝试papi_native_avail时,我不仅得到了这三个事件,还为每个事件提供了相应的STALLS事件,包括CYCLE_ACTIVITY.STALLS_LDM_PENDINGCYCLE_ACTIVITY.STALLS_L1D_PENDINGCYCLE_ACTIVITY.STALLS_L2_PENDING。而且我在CYCLESSTALLS事件中也有不同的数字。所以问题是它们之间有什么区别。

  2. 这个问题与上面的问题有关,因为在Intel 64和IA-32架构优化参考手册附录B.3.2.3中提到的所有事件都是STALLS个事件,它们都不是实际上是在SDM中提到的,而不是CYCLES个事件。问题是他们应该是什么,CYCLESSTALLS?我应该使用哪些来进行B.3.2.3提到的记忆界限表征?

  3. 上面提到的附录B.3.2.3中有一些关于如何计算不同级别的内存子系统上的界限的公式。我发现令人困惑的一件事是,当我使用上面提到的STALLS事件进行测量时,STALLS_L2_PENDING上的数字大于STALLS_L1D_PENDING,而该部分中有一个公式显示:

  4. %L2 Bound = (CYCLE_ACTIVITY.STALLS_L1D_PENDING - CYCLE_ACTIVITY.STALLS_L2_PENDING) / CLOCKS

    这是否意味着我的测量错误?如果没有,那么我怎么能计算%L2 Bound,因为它会高于零。

    源代码位于以下链接: https://github.com/yqzhang/SMTM/blob/master/native/native.c

    有人可以帮我这个吗?

0 个答案:

没有答案
相关问题