《OpenACC并行程序设计:性能优化实践指南》一 第3章 使用Score-P和Vampir分析混合应用性能

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

第3章

使用Score-P和Vampir分析混合应用性能
Guido Juckeland
德国亥姆霍兹联合会(HZDR)信息服务和计算机系
Robert Dietrich
德国德累斯顿工业大学
本章的目的是让读者熟悉逐步性能提升的概念,以及在向OpenACC应用程序添加其他并行模式时所涉及的工具。混合应用程序可能会遭受许多性能瓶颈,应用程序运行期间所有活动的整体图可以揭示如何提高整体性能。
阅读本章后,读者将会理解以下内容:
混合应用程序(例如,MPI+OpenACC)性能分析的术语和方法。
如何修改混合应用程序以生成和记录性能数据。
如何可视化和分析性能数据,以便对应用程序进行有针对性的改进。
扩展现有并行应用程序以包含另一个并行化范例时的常见陷阱。
OpenACC旨在提供一种在硬件加速器平台上描述并行性的相对简单和直接的方法。OpenACC的设计初衷也是作为一种将传统高性能计算(HPC)应用程序移植到新型架构的方法。超过单个节点能力的传统和新型应用程序可以使用消息传递接口(MPI),用于节点间通信和粗粒度任务分配。我们将组合OpenACC和MPI的应用程序称为混合应用程序。也可在主机端组合OpenACC和OpenMP来使用计算节点的所有资源,或同时使用三个级别的并行(MP、OpenACC和OpenMP)。优化并行范例应用程序是具有挑战性的,添加第二或第三级别并行会引入一个潜在性能挑战的全新层,因为所有并行范例都会交互作用。使用正确的性能分析工具时,性能导向开发也可以覆盖这些混合计算场景。
编译器或加速器供应商提供的分析工具通常仅限于设备支持的编程模型,例如OpenACC、CUDA或OpenCL活动。几乎所有供应商的工具都不能记录MPI活动,因此编程人员无法知道混合应用程序在并行性方面的表现如何。研究导向的性能工具弥补了这个问题。HPCtoolkit、Tau和Score-P是比较优秀的第三方分析工具,同时也支持硬件加速器分析。这三个工具中,Score-P支持最多的并行范例,可以记录最多并发活动,对非常复杂的应用程序也可以提供最完整的性能图。因此本章使用Score-P作为性能记录工具来讲解。Vampir用于可视化性能数据,因为它是迄今为止最有能力的追踪可视化和配置文件生成器。

相关文章
|
Ubuntu 安全 Linux
从旧到新:全面升级 Ubuntu 系统指南
为保障新装系统的安全,建议尽早创建快照。**利用VMware快照功能保障系统安全并方便恢复。**在相应位置悬停鼠标,即可查看详细信息。选择左侧的选项,为该虚拟机拍摄快照,并在拍摄快照的过程中,关闭所有正在运行的软件以确保备份过程迅速完成。
|
存储 Oracle Java
深入探索安卓应用开发:从环境搭建到第一个"Hello, World!"
本文旨在为安卓开发初学者提供一个清晰、简洁的入门指南。我们将一步步引导您完成安卓开发环境的搭建,并详细介绍如何创建您的第一个安卓应用程序。通过这篇文章,您不仅能够理解安卓应用开发的基本流程,还能掌握一些实用的技巧和方法,为进一步深入学习打下坚实的基础。
|
11月前
|
前端开发 Java 开发者
MVC 架构模式技术详解与实践
本文档旨在全面解析软件工程中经典且至关重要的 MVC(Model-View-Controller) 架构模式。内容将深入探讨 MVC 的核心思想、三大组件的职责与交互关系、其优势与劣势,并重点分析其在现代 Web 开发中的具体实现,特别是以 Spring MVC 框架为例,详解其请求处理流程、核心组件及基本开发实践。通过本文档,读者将能够深刻理解 MVC 的设计哲学,并掌握基于该模式进行 Web 应用开发的能力。
1941 1
|
缓存 测试技术 API
解锁开源模型高性能服务:SGLang Runtime 应用场景与实践
SGLang 是一个用于大型语言模型和视觉语言模型的推理框架。
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
1361 3
|
网络协议 网络架构 数据格式
TCP/IP基础:工作原理、协议栈与网络层
TCP/IP(传输控制协议/互联网协议)是互联网通信的基础协议,支持数据传输和网络连接。本文详细阐述了其工作原理、协议栈构成及网络层功能。TCP/IP采用客户端/服务器模型,通过四个层次——应用层、传输层、网络层和数据链路层,确保数据可靠传输。网络层负责IP寻址、路由选择、分片重组及数据包传输,是TCP/IP的核心部分。理解TCP/IP有助于深入掌握互联网底层机制。
2260 2
|
Java Maven
震惊!idea专业版如何配置maven国内源手把手教学
文章提供了如何在IDEA专业版中配置Maven使用国内源(如阿里云)的详细步骤,以加快依赖下载速度,并解释了配置国内源的原因。
5129 0
震惊!idea专业版如何配置maven国内源手把手教学
|
JavaScript
TypeScript——Record类型
TypeScript——Record类型
407 0
|
API 定位技术 开发工具
Android Studio2021.1.1 高德地图api调用这一篇就够了
Android Studio2021.1.1 高德地图api调用这一篇就够了
|
Java
java8 转对象,Java8转Map,Java8转Llist
java8 转对象,Java8转Map,Java8转Llist
323 0

热门文章

最新文章