利用AMEBA对OpenMP线程应用程序进行自动监控
在当今的软件开发中,性能优化是一个至关重要的环节。对于OpenMP线程应用程序,如何自动监控并发现其中的性能问题是一个具有挑战性的任务。本文将介绍一种利用可配置的内存层次结构监控器(CMM)和自动性能分析工具AMEBA来实现这一目标的方法。
1. CMM监控环境
CMM的目标是提供有关Fortran OpenMP程序内存访问行为的详细信息。只要有针对特定编程语言的程序区域和数据结构的插桩工具,其他编程语言编写的程序也可以使用CMM进行监控。
CMM环境具有多层结构,每层代表数据结构地址的不同抽象级别:
- 硬件监控层 :通过使用物理地址的低级API配置硬件监控器,将监控范围限制在特定的地址范围。
- ePAPI层 :使用虚拟地址,实现了更高层次的抽象。
- 监控请求接口(MRI)层 :为性能工具提供基于符号的接口。工具可以请求特定循环的执行时间或源代码区域内的缓存未命中次数等信息。
CMM可以被广泛的性能分析工具使用,例如:
- 跟踪存档器 :配置监控器生成跟踪数据,并将其保存为VAMPIR可读的格式。
- Performance Cockpit :基于Eclipse的GUI,允许用户探索程序的源代码,并交互式地请求单个区域或数据结构的性能数据。
- AMEBA自动分析工具 :用于自动搜索性能问题。
将监
超级会员免费看
订阅专栏 解锁全文
609

被折叠的 条评论
为什么被折叠?



