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

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

上一篇:阿里云人脸识别NodeJS调用示例参考


下一篇:一句话说清分布式锁,进程锁,线程锁