OpenACC 高性能并行编程:概念与策略 (11):OpenACC 概述 1.3.1

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

OpenACC高性能并行编程:概念与策略(11):OpenACC概述 1.3.1

(数据导语)

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

有两种类型的数据导语:结构化和非结构化。在数据生命周期开始和结束时,结构化数据区域(structured data region)通过单个词法范围来定义。

OpenACC高性能并行编程:概念与策略(11):OpenACC概述 1.3.1

a 的数据生命周期始于左大括号,并在右大括号处结束。下面是 Fortran 中的代码。

OpenACC高性能并行编程:概念与策略(11):OpenACC概述 1.3.1

非结构化数据区域(unstructured data region)通过“开始 - 结束对”(begin-end pair)来定义边界,“开始 - 结束对可以不在相同的词法范围内。

OpenACC高性能并行编程:概念与策略(11):OpenACC概述 1.3.1

正确放置数据导语可以大大提高程序的性能。尽管如此,正因为可以通过添加数据子语(这些子语与可用于结构化数据构件的子语相同)的方式,在 parallel 构件和 kernels 构件中处理所有数据迁移,因此放置数据导语应该被认为是一种优化。

OpenACC高性能并行编程:概念与策略(11):OpenACC概述 1.3.1

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

评论

发布