用于分析低级架构效率低下的开源分析器?
现代处理器使用各种技巧来弥补其处理元件的高速与外部存储器的迟缓之间的差距。 在性能关键型应用程序中,构建代码的方式通常会对其效率产生相当大的影响。 例如,使用 SLO 分析器的研究人员能够修复缓存局部性问题,并将多个 SPEC2000 基准测试的执行速度提高一倍程式。 我正在寻找开源工具的建议,该工具利用处理器的性能监控支持来定位和分析架构效率低下的情况,例如缓存未命中、分支错误预测、前端停顿、地址别名造成的缓存污染、长延迟指令和 TLB 未命中。 我知道 Intel 的 VTune(商业)、AMD 的 CodeAnalysist(免费,但不是开源)和 Cachegrind(依赖于模拟)。
Modern processors use all sorts of tricks to bridge the gap between the large speed of their processing elements and the tardiness of the external memory. In performance-critical applications the way you structure your code can often have a considerable influence on its efficiency. For instance, researchers using the SLO analyzer were able to fix cache locality problems and double the execution speed of several SPEC2000 benchmark programs. I'm looking for recommendations for an open source tool that utilizes a processor's performance monitoring support to locate and analyze architectural inefficiencies, such as cache misses, branch mispredicts, front end stalls, cache pollution through address aliasing, long latency instructions, and TLB misses. I'm aware of Intel's VTune (commercial), AMD's CodeAnalysist (free, but not open source), and Cachegrind (relies on simulation).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于 Linux,oprofile 效果很好。 实际上AMD的CodeAnalysist使用oprofile作为其后端。
Oprofile 使用处理器的内部性能调整机制来分析架构效率低下的情况。
For linux, oprofile works well. Actually AMD's CodeAnalysist uses oprofile as its backend.
Oprofile uses processor's intenal performance tunning mechanism to analyze architectural inefficiency.