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

相关文章
|
并行计算
《OpenACC并行程序设计:性能优化实践指南》一 3.11 小结
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.11节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1083 0
|
测试技术 异构计算
《OpenACC并行程序设计:性能优化实践指南》一 导读
这是一本关于并行编程的书,不仅仅介绍OpenACC语法或从文档中收集的信息,更介绍了如何编写实际的、高性能的以及可移植的程序,这些程序可以运行在从CPU到GPU的大量设备上。具体而言,书中演示了使用PGI、Cray和PathScale等供应商提供的编译器编译示例代码,并在Intel x86处理器、Cavium 96核64位ARMv8处理器芯片集和NVIDIA GPU上运行。
2197 0
|
并行计算 异构计算
《OpenACC并行程序设计:性能优化实践指南》一 3.6 第一个并行PIConGPU实现
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.6节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1511 0
|
并行计算 异构计算
《OpenACC并行程序设计:性能优化实践指南》一 3.10 使用Score-P和Vampir记录OpenACC运行时事件
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.10节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1483 0
|
并行计算 异构计算
《OpenACC并行程序设计:性能优化实践指南》一 3.9 增加GPU任务并行
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.9节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1320 0
《OpenACC并行程序设计:性能优化实践指南》一 3.12 参考文献
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.12节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
707 0
|
程序员
《OpenACC并行程序设计:性能优化实践指南》一 2.3 描述数据移动
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第2章,第2.3节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1274 0
|
并行计算 测试技术 API
《OpenACC并行程序设计:性能优化实践指南》一 3.4 通过代码插装准备性能测量
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.4节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1246 0
|
程序员 C++
《OpenACC并行程序设计:性能优化实践指南》一 1.2 简单的任务并行示例
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第1章,第1.2节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1428 0
|
监控
《OpenACC并行程序设计:性能优化实践指南》一 3.1 性能分析技术和术语
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.1节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1154 0