请教:怎么才能测出程序运行时cache的命中率呢?

yutia3n 2007-01-17 08:30:17
请教诸位一个问题,用什么方法或者软件能够的到intel平台上程序运行时的cache命中率?
请大家不吝赐教。
...全文
1391 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
i_am_xiaoga 2007-02-06
  • 打赏
  • 举报
回复
cache miss一般有两种表示方法,miss rate和每千条指令的miss次数。以L1为例:

L1 cache miss rate
= 1st-Level cache load miss retired / loads retired
即L1 miss次数比上总的load次数。

每千条指令的L1 miss次数
= 1000 * 1st-Level cache load miss retired / Instructions retired 。

1st-Level cache load miss retired ,loads retired,Instructions retired 都可以做为event测出来。
Simbao 2007-01-31
  • 打赏
  • 举报
回复
那个程序是如何实现的?
没有这方面的汇编指令吧?
songbd 2007-01-29
  • 打赏
  • 举报
回复
在Linux环境中 可以用Oprofile工具。免费的哈。^_^
icansaymyabc 2007-01-19
  • 打赏
  • 举报
回复
Re:亲爱的icansaymyabc
非常感谢你给我的cache命中率测试问题的留言。今天才拿到intel vtune,第一次使用,希望你能把设置的步骤给我介绍详细一点。如蒙赐教,不胜感激。....

---------------------------------------

安装好的VTune菜单里有一个教程 Getting Started Tutorial
你必须把它看完看懂。

之后用 Analyzer projects 中的 Sampling Wizard 创建一个项目。
记住要勾选 Modify default configuration when done wizard。
然后在配置对话框的左边选中 Sampling,再点中间的 Configure 按钮,
又弹出一个配置框,它的 Event Ratios 和 Events 页里有非常多种类的计数器可供选择。

Event Ratios 返回的是比率。Events 返回原始计数值。

要看Cache,在Event Ratios 中选 Memory Event Ratios 类别的
1st level Cache Load Hit Rate
1st level Cache Load Miss Performance Impact
同时选中 General 类的
2nd-Level Cache Load Hit Rate
2nd-Level Cache Load Misses per Instructions Retired

在 Events 里选择 All events 类, 关于 Cache 的计数器都是排在前面的。
icansaymyabc 2007-01-18
  • 打赏
  • 举报
回复
手动配置 VTune 的 Sampling 项目的参数,可以选出 Cache 失败率的计数器来。

568

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧