《OpenACC并行程序设计:性能优化实践指南》一 3.5 在应用程序执行期间记录性能信息

简介: 本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.5节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.5 在应用程序执行期间记录性能信息

应用程序将自动使用第一个插装事件启动Score-P性能监视器。使用几个环境变量来配置性能监视器。为了尽量减小运行时间扰动,Score-P默认设置产生一个基于性能分析的事件,这个事件不包含任何加速器活动。为了设置Score-P来记录PCIonGPU示例相关的活动,图3-5展示了与设置有关的环境变量。为了在Score-P 3.0版本中跟踪OpenACC API活动,将环境变量SCOREP_OPENACC_ENABLE设置为“yes”。Score-P文档中描述了其他可用的选项。

screenshot

程序执行完后,在当前工作目录下包含一个新的子文件夹,以scorep-<程序执行时间戳>命名。如图3-6所示,在这个文件夹里,可以找到分析(profile.cubex)和跟踪文件(trace.otf2)。

screenshot

生成的分析是了解应用程序行为的非常有价值的方法。对事件率未知或预期非常大的应用程序,建议开始仅生成分析,并扩展跟踪以覆盖所需的信息。这个需要通过限制插装或记录过滤来实现。查看“cube”文件可以可视化分析(profile.cubx),如图3-7所示。

screenshot

查看器显示了应用程序运行的多度量分析(最左列)。中间列显示的是最左列选中度量在程序函数间的情况。最右列显示的是中间列所选函数在应用程序运行期间的进程和线程情况。追踪文件允许对分析数据和时间上下文进行深入分析。如何使用它来优化PIConGPU应用参见以下章节。有关Score-P设置更详细说明参见安装手册。

相关文章
|
5月前
|
存储 SQL 运维
MSSQL性能调优精要:索引深度优化、查询高效重构与并发精细控制
在MSSQL数据库的运维与优化领域,性能调优是一项复杂而细致的工作,直接关系到数据库的稳定性和响应速度
|
7月前
|
缓存 Java Android开发
构建高效的Android应用:内存优化策略解析
【5月更文挑战第25天】在移动开发领域,性能优化一直是一个不断探讨和精进的课题。特别是对于资源受限的Android设备来说,合理的内存管理直接关系到应用的流畅度和用户体验。本文深入分析了Android内存管理的机制,并提出了几种实用的内存优化技巧。通过代码示例和实践案例,我们旨在帮助开发者识别和解决内存瓶颈,从而提升应用性能。
|
7月前
|
存储 缓存 数据库
构建高效Android应用:内存优化策略深度剖析
【4月更文挑战第29天】 在移动开发领域,性能一直是衡量应用质量的关键指标之一。特别是对于Android平台,由于设备硬件配置的多样性,内存管理成为开发者面临的一大挑战。本文将深入探讨Android应用内存优化的有效策略,旨在帮助开发者提升应用性能,减少内存消耗,避免常见的内存泄漏问题。通过对Android内存管理机制的分析与实际案例的结合,我们将提供一系列实用的优化技巧,助力应用在竞争激烈的市场中脱颖而出。
|
7月前
|
存储 缓存 安全
【C/C++ 项目优化实战】 分享几种基础且高效的策略优化和提升代码性能
【C/C++ 项目优化实战】 分享几种基础且高效的策略优化和提升代码性能
349 0
|
存储 Java 数据安全/隐私保护
项目实战典型案例15——高并发环境下由于使用全局变量导致数据混乱 高并发环境下对象被大量创建,导致GC并是CPU飙升
项目实战典型案例15——高并发环境下由于使用全局变量导致数据混乱 高并发环境下对象被大量创建,导致GC并是CPU飙升
159 0
项目实战典型案例15——高并发环境下由于使用全局变量导致数据混乱 高并发环境下对象被大量创建,导致GC并是CPU飙升
|
缓存 固态存储 Ubuntu
十七、Linux性能优化实战学习笔记-如何利用系统缓存优化程序的运行效率?
Buffer 和Cache 的设计目的,是为了提升系统的 I/O 性能。它们利用内存,充当起慢速磁盘与快速CPU 之间的桥梁,可以加速 I/O 的访问速度。
289 0
|
SQL 关系型数据库 API
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化(三)
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化(三)
|
SQL 存储 安全
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化(二)
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化
|
存储 C#
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化(一)
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化
下一篇
无影云桌面