如何测量多线程应用程序中的缓存性能?
我需要像每个线程的缓存命中/未命中之类的东西。我如何获取该信息? Cachegrind 似乎不起作用,基于这样的事实:我的顺序程序给出了执行的 X 指令的计数,以及我的并行程序的 Y 的计数,除了 X=Y 之外,一切都OK。
我认为 Cachegrind 不适用于线程?我还可以使用其他工具吗?
I need something like cache hits/misses on a per thread basis. How do I obtain that information? Cachegrind doesn't seem to work, based on the fact that my sequential program gives a count of X instructions executed, and of Y for my parallel program, all OK, except for the fact that X=Y.
I assume Cachegrind is not for threads? Any other tools I could use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 perf 从硬件性能计数器获取所需的信息。
尝试:
You can use perf to get the information you want from the hardware performance counters.
try: