《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用于可视化性能数据,因为它是迄今为止最有能力的追踪可视化和配置文件生成器。

相关文章
|
数据可视化 关系型数据库 编译器
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
2018 2
|
数据安全/隐私保护 Docker 容器
docker版Minio接入LDAP
因为官网的LDAP文档接入写的过于分散,实在不利于新手部署,所以重新整理了一版,方便用户能一次部署完成
2803 1
docker版Minio接入LDAP
|
8月前
|
Ubuntu 安全 Linux
从旧到新:全面升级 Ubuntu 系统指南
为保障新装系统的安全,建议尽早创建快照。**利用VMware快照功能保障系统安全并方便恢复。**在相应位置悬停鼠标,即可查看详细信息。选择左侧的选项,为该虚拟机拍摄快照,并在拍摄快照的过程中,关闭所有正在运行的软件以确保备份过程迅速完成。
|
7月前
|
前端开发 Java 开发者
MVC 架构模式技术详解与实践
本文档旨在全面解析软件工程中经典且至关重要的 MVC(Model-View-Controller) 架构模式。内容将深入探讨 MVC 的核心思想、三大组件的职责与交互关系、其优势与劣势,并重点分析其在现代 Web 开发中的具体实现,特别是以 Spring MVC 框架为例,详解其请求处理流程、核心组件及基本开发实践。通过本文档,读者将能够深刻理解 MVC 的设计哲学,并掌握基于该模式进行 Web 应用开发的能力。
1479 1
|
存储 Oracle Java
深入探索安卓应用开发:从环境搭建到第一个"Hello, World!"
本文旨在为安卓开发初学者提供一个清晰、简洁的入门指南。我们将一步步引导您完成安卓开发环境的搭建,并详细介绍如何创建您的第一个安卓应用程序。通过这篇文章,您不仅能够理解安卓应用开发的基本流程,还能掌握一些实用的技巧和方法,为进一步深入学习打下坚实的基础。
|
缓存 测试技术 API
解锁开源模型高性能服务:SGLang Runtime 应用场景与实践
SGLang 是一个用于大型语言模型和视觉语言模型的推理框架。
|
缓存 自然语言处理 安全
快速调用 Deepseek API!【超详细教程】
Deepseek 强大的功能,在本教程中,将指导您如何获取 DeepSeek API 密钥,并演示如何使用该密钥调用 DeepSeek API 以进行调试。
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
418 1
linux特殊权限!!
|
机器学习/深度学习 搜索推荐 Python
L2范数(L2 norm)
L2范数(L2 norm),也称为欧几里德范数(Euclidean norm)或2-范数,是向量元素的平方和的平方根。它在数学和机器学习中经常被用作一种正则化项、距离度量或误差度量。
11868 76
|
网络协议 网络架构 数据格式
TCP/IP基础:工作原理、协议栈与网络层
TCP/IP(传输控制协议/互联网协议)是互联网通信的基础协议,支持数据传输和网络连接。本文详细阐述了其工作原理、协议栈构成及网络层功能。TCP/IP采用客户端/服务器模型,通过四个层次——应用层、传输层、网络层和数据链路层,确保数据可靠传输。网络层负责IP寻址、路由选择、分片重组及数据包传输,是TCP/IP的核心部分。理解TCP/IP有助于深入掌握互联网底层机制。
2048 2

热门文章

最新文章