Performance AMD Opteron 6172上的PAPI性能计数器问题
我一直在尝试在运行Red Hat Enterprise Linux Workstation 6.2版(圣地亚哥)的AMD Opteron 6172处理器上使用性能计数器分析某些应用程序(用C编写) 我使用的是PAPI v4.1.3.0,它使用AMD原生事件CPU_CLK_UNHALTED进行PAPI_TOT_CYC(计数总周期)和数据_CACHE_访问进行PAPI_L1_DCA(计数一级数据缓存访问) 我所遇到的问题是,在某些情况下,缓存访问的数量一直高于循环的总数。据我所知,缓存访问不会停止cpu,因此它应该适合总周期。另外,当将总周期除以Opteron 6172的时钟频率时,我得到了一个相当准确的执行时间估计值,这使我认为总周期是可以的,问题在于数据缓存访问的计数 我已经根据papi的例子开始了所有的工作,没有任何错误。非常感谢您提供的任何帮助或原因,请提前感谢Performance AMD Opteron 6172上的PAPI性能计数器问题,performance,amd-processor,papi,Performance,Amd Processor,Papi,我一直在尝试在运行Red Hat Enterprise Linux Workstation 6.2版(圣地亚哥)的AMD Opteron 6172处理器上使用性能计数器分析某些应用程序(用C编写) 我使用的是PAPI v4.1.3.0,它使用AMD原生事件CPU_CLK_UNHALTED进行PAPI_TOT_CYC(计数总周期)和数据_CACHE_访问进行PAPI_L1_DCA(计数一级数据缓存访问) 我所遇到的问题是,在某些情况下,缓存访问的数量一直高于循环的总数。据我所知,缓存访问不会停止c
- CPU_CLK_未被腐蚀
- 数据缓存访问
尽管指令可能只访问其中的一部分。此事件是一个推测性事件。好的,以下是我的猜测:
希望对您有所帮助…您好,谢谢您的回复,但我不确定它是否回答了我的问题。1,我在一级缓存命中率为100%的情况下会出现这种行为,因此不会进入任何其他级别的缓存。2,不可能,因为我在一台我预订的服务器上运行这些测试只是为了单独运行,即使其他程序正在运行,它们也会增加总周期以及一级数据缓存访问。3,是的,opteron使用双向关联一级缓存,这意味着你可以一次发出两条指令,但cpu不等待这些访问的响应吗?最便宜的一个是3个周期?好吧,由于流水线,cpu不必等待访问完成。。。