英特尔® Parallel Amplifier 的三种分析类型旨在让您以不同角度深入了解程序性能。每个层面的分析都收集了相应的信息。具体说明如下。
热点
第一类分析,即热点 (Hotspots),是最初级的分析。运行它所需时间与正常运行应用程序(无英特尔® Parallel Amplifier)的时间相同。在执行应用程序时,英特尔 Parallel Amplifier 的数据收集器将定期采样。每次采样时,收集器与操作系统协作使程序中断,同时采集数据。它记录执行应用程序的各个 CPU 核心的指令指针 (IP) 和调用栈(保存为 O/S 数据结构的一部分)。一旦应用程序执行完毕,英特尔 Parallel Amplifier 获取全部 IP 采样,并使用它们计算出每个函数的运行时间,再用所有调用栈采样为整个程序创建一棵调用树。为创建热点列表和调用树,英特尔 Parallel Amplifier 还会使用存储在程序调试数据库(.pdb 文件)中的程序数据和指令空间的信息。
并发性
第二类分析,即并发性 (Concurrency),其工作方式与热点相似,但收集信息更多。它也记录应用程序各线程在各种状态下的数据,如运行、准备就绪和阻塞。一旦集齐所有采样,英特尔 Parallel Amplifier 将对数据进行分析,以确定应用程序各线程处于活动状态的时间的百分比。这叫做并行级别 (Concurrency Level),已分解至每个函数。理想情况下,应用程序的并行级别应该与系统的处理器数目一致,即英特尔 Parallel Amplifier 所谓的完全利用 (Fully Utilized)。
锁定和等待
最后一类分析称为锁定和等待 (Locks and Waits),是最消耗处理器时间的一种分析。应用程序在被基于锁定和等待的分析时可能需要较长的运行时间,这就是消耗处理器时间的原因。除收集上述数据之外,英特尔 Parallel Amplifier 还将向已编译的程序添加指令。这些指令将被置于程序中使用线程和同步 API 调用的位置,目的是测量线程处于非活跃状态时的等待时间。此计时信息与 .pdb 文件中的符号信息相结合,即可创建出应用程序等待位置和等待对象的图表。锁和其他可能造成线程等待的结构被称作同步对象 (Synchronization Objects)。运行此分析后,英特尔 Parallel Amplifier 将显示一张同步对象列表,包括各自等待时间以及在等待期间应用程序的并发性。
分享到:
相关推荐
**在英特尔® Parallel Amplifier 中使用求差功能查找性能下降** 英特尔® Parallel Amplifier 是一款强大的性能分析工具,特别设计用于帮助开发者优化多线程和并行应用的性能。其求差功能允许开发者追踪和识别代码...
### 和英特尔® Parallel Amplifier有关的编译器设置 #### 概述 英特尔® Parallel Amplifier是一款强大的工具,主要用于分析并行程序中的性能问题。它能够深入分析二进制代码,帮助开发者找到程序中的瓶颈所在。...
完成基础设置后,开发者可以进一步学习并行编程的最佳实践,探索更多高级特性,如OpenMP的使用,以及如何结合其他工具(如英特尔® VTune™ Amplifier)进行性能分析和调优。此外,持续关注英特尔的更新和技术文档,...
· 英特尔® VTune™ Amplifier XE――性能和线程档案器 · 英特尔® Inspector XE――内存和线程检查器 · 静态分析――定位难以查找的缺陷 只需更少的工作量实现更高性能。利用广泛采用的、最新版本的英特尔® ...
通过使用英特尔®软件开发工具,应用程序可以在从少量核心到大量核心之间实现一致性的模型、语言、工具和技术——无论是在为英特尔®酷睿™处理器还是英特尔®至强®处理器,或是英特尔®至强Phi™协处理器进行开发...
英特尔® VTune™ 性能分析器通过图形用户界面简化应用调试流程,无需重新编译。因为它与编译器和编程语言无关,因此可用于 C、C++、Fortran、C#、Java、.NET 等多种语言。英特尔 VTune主要用来做程序的性能调试方面...
Intel® VTune™ Amplifier XE 用于性能分析,能够深入分析程序的运行情况,帮助开发者找到性能瓶颈。Intel® Inspector XE 则用于正确性分析,能够帮助开发者检测并诊断内存错误和线程问题。Intel® Advisor XE ...
- **Intel® VTune™ Amplifier**:一款高级性能分析工具,可以帮助开发者识别瓶颈并优化代码。 - **Intel® Advisor**:提供有关向量化、并行化等方面的指导,帮助开发者实现高效编码。 - **Intel® Inspector**:...