首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PM_DATA_ALL*和PM_DATA*事件在Power8上有什么区别?

PM_DATA_ALL*和PM_DATA*事件在Power8上有什么区别?
EN

Stack Overflow用户
提问于 2016-01-24 21:38:52
回答 1查看 86关注 0票数 1

在对Power8处理器使用perf的内存性能进行评估时,我遇到了理解事件、PM_DATA_ALL_*PM_DATA_*之间的差异的问题。大多数计数器都存在于这两个版本中,但是oprofile文档papi_native_avail中的描述是相同的,例如:

PM_DATA_FROM_LMEM 处理器的数据缓存是从本地芯片的内存中重新加载的,因为如果MMCR116是1,则要么只需要加载,要么需要加载加上预取。

我想我会通过测量一些数据来找出两者之间的区别。如果我提供的任务足够大,我可以观察到*_ALL版本具有更高值的预期差异。我理解在使用perf的测量中多路复接计数器的概念。

那么,在这些事件中到底是什么呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-24 21:38:52

经过几个小时的搜索,我发现了另一个描述这些事件的直接来自IBM

PM_DATA_ALL_FROM_LMEM 由于需要加载或数据预取,处理器的数据缓存从本地芯片的内存中重新加载

PM_DATA_FROM_LMEM 由于需求负载,处理器的数据缓存从本地芯片的内存中重新加载

因此,这一差异使得预取加载,而第二个版本中没有包括它。

PAPI和perf工具只是包含了错误的描述。这些事件是由IBM直接从捐出oprofile的,但可能存在一些错误/不准确。当我浏览PAPI/libpfm源时,我发现正确的描述在.pme_short_desc字段中,但是.pme_long_desc字段都是相同的。papi_native_avail只报道了一个长的:

谢谢你的耐心。总结这样的东西对我有很大帮助,我希望它能帮助那些在类似问题上挣扎的人。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34981827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档