OpenACC 高性能并行编程:概念与策略 (38):OpenACC 编程工具 3.5

阅读数:1 2020 年 1 月 8 日 19:24

OpenACC高性能并行编程:概念与策略(38):OpenACC编程工具 3.5

(总结)

内容简介
本书是介绍大规模并行编程 OpenACC 的综合实践性书籍之一。书中前 3 章介绍了 OpenACC 背后的概念和 OpenACC 开发工具;第 4 章至第 7 章带你了解第 1 个真实世界的 OpenACC 程序,并揭示 OpenACC 程序编译背后的魔力,从而引入更多概念;第 8 章至第 10 章涵盖高级主题,例如 OpenACC 的替代方案、底层设备交互、多设备编程和任务并行性;第 11 章和第 12 章探讨了 OpenACC 实现潜在新语言特性的各种研究领域。

为了开发出正确和高性能的 OpenACC 应用程序,有多种工具可以帮助开发人员分析他们的 OpenACC 代码。支持 OpenACC 的编程工具必须处理计算卸载这一概念。这意味着,必须在主机和加速器上进行性能分析和调试。

OpenACC 2.5 提供了用于从 OpenACC 运行时收集事件的性能分析接口。与加速器性能有关的信息必须基于相应加速器的目标 API 来获取。可以使用诸如 Score-P 和 TAU 之类的工具测量主机和加速器上的性能数据。

此外,你还可以使用它们研究另外使用进程间通信和多线程的程序。

由于是 OpenACC 编译器生成设备代码,你可能认为不需要调试 OpenACC 计算 kernel。但 OpenACC 编译器生成的设备代码仍然可能出现逻辑和编码错误。此外,还可以基于编译器或运行时调试输出检测到一些其他错误源。诸如 TotalView 和 DDT 之类的工具可以支持调试主机和 CUDA 设备上的 OpenACC 程序。

调试和性能分析不是一蹴而就的。编译器在实现规范时有一些余地,而且加速器的种类繁多,因此对于不同的编译器和加速器组合,其优化方法也不尽相同。同样的道理也适用于 bug,它可能只发生于某个特定的编译器和加速器组合。软件工具简化了调试和性能分析的过程。因为 OpenACC 是关于性能的,所以建议采用性能分析驱动(profile-driven)的程序开发方法。有了这些可用的工具,你就可以避免自己亲自动手来做解决方案。

OpenACC高性能并行编程:概念与策略(38):OpenACC编程工具 3.5

购书地址 https://item.jd.com/12596484.html?dist=jd

评论

发布