OpenACC 高性能并行编程:概念与策略 (24):循环级并行性 2.4

阅读数:1 2020 年 1 月 5 日 18:32

OpenACC高性能并行编程:概念与策略(24):循环级并行性 2.4

(总结)

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

循环并行化功能是 OpenACC 发现并充分利用多核、众核和 GPU 硬件能力的核心功能。跨硬件高效、正确地并行化循环是确保良好性能的关键。

parallel 导语和 kernels 导语不同:kernels 赋予编译器更多识别并行性的责任;parallel 授权编译器在该区域内并行化代码。

OpenACC 可提供额外的功能,也就是通过在并行化导语中添加子语的方式,来协助编译器更高效地并行化代码,同时可以将代码合理地映射到当前所用硬件中。

在有需要的、安全的地方明智而审慎地使用 independent、collapse 和 reduction 子语,将使编译器尽可能最大化地并行化代码。基于你对代码的了解和对硬件的充分利用,指定将循环映射到硬件特性(线程、核、向量硬件等)中可以进一步提高性能。

通过本章的介绍和一些实验,你将能够构建正确的 OpenACC 代码并使其成功运行。请记住,应该先保证正确性,其次再保证性能。所以在开始优化循环和发挥你所用硬件的全部潜力之前,确保已有经过充分测试和验证的 OpenACC 代码应该是你的首要目标。

OpenACC高性能并行编程:概念与策略(24):循环级并行性 2.4

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

评论

发布