万本电子书0元读

万本电子书0元读

顶部广告

OpenACC并行编程实战电子书

1)HPC领域资深专家推荐,中国*OpenACC技术社区创建者撰写,不可多得的OpenACC技术专著 2)全面讲解OpenACC编程规范、语法的行为机理与设计动机,160个完整示例覆盖众多并行编程场景

售       价:¥

纸质售价:¥49.80购买纸书

3人正在读 | 0人评论 6.4

作       者:何沧平

出  版  社:机械工业出版社

出版时间:2017-01-01

字       数:22.3万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
中国*OpenACC技术社区创建者撰写,为数不多系统介绍OpenACC的技术专著。全面讲解OpenACC编程规范、语法的行为机理与设计动机,160个完整示例覆盖众多并行编程场景。 全书分10章,按照并行程序发步骤组织,建议遍顺序阅读。 第1章介绍主流加速器产品的硬件架构、主流并行编程模型等,以期读者对并行编程生态有全面了解。 第2章介绍OpenACC语言的设计思路,并列出OpenACC的主要语法供快速查阅。 第3章是本书核心,将大量计算并行化,这是程序提速的根本手段。用大量示例讲述两个计算构件parallel和kernels的行为特,然后用它并行化Jacobi 迭代。 第4章介绍多种数据管理工具,包含结构化子语copy/create/present、结构化导语data、非结构化导语enter data/exit data/update/declare等,将加速器带来的数据移动时间减到少。 第5章介绍routine导语,嵌套调用并行化自定义函数,用来发大型程序。 第6章讲解用异步队列隐藏数据传输时间、调度多个加速器同时工作等高级特性。 第7章介绍OpenACC与CUDA C/CUDA Fortran和各类库的混合编程。 第8章是所有的运行时函数,以供读者编程查阅。 第9章指导部署发环境,以便快速上手。 第10章介绍神威?太湖之光的编程模型及其对OpenACC的功能扩展。<br/>【推荐语】<br/>1)HPC领域资深专家推荐,中国*OpenACC技术社区创建者撰写,不可多得的OpenACC技术专著 2)全面讲解OpenACC编程规范、语法的行为机理与设计动机,160个完整示例覆盖众多并行编程场景<br/>【作者】<br/>何沧平,华为高级工程师,NVIDIA认证 CUDA培训师。曾任中科曙光HPC事业部工程师,完成全球天气预报程序并行化项目(加速30倍)和国家气象局天气预报程序并行化项目等,实战经验丰富。精通OpenACC、CUDA Fortran、CUDA C,熟悉OpenMP、MPI编程。2012年初始关注研究OpenACC,陆续翻译OpenACC 1.0/2.0/2.0a/2.5语言规范以及《CUDA Fortran高效编程实践》,撰写大量在线技术教程,并建立中国*OpenACC QQ交流群和资源网站,持续推广。<br/>
目录展开

前言

第1章 并行编程概览

1.1 加速器产品

1.1.1 英伟达GPU

1.1.2 英特尔至强融核处理器

1.2 并行编程语言

1.3 CUDA C

1.3.1 线程组织方式

1.3.2 运行过程

1.3.3 内存层级

1.3.4 性能优化技术

第2章 OpenACC概览

2.1 OpenACC规范的内容

2.1.1 抽象加速器模型

2.1.2 存储模型

2.1.3 计算执行模型

2.2 OpenACC 2.5规范

第3章 OpenACC计算构件

3.1 条件编译

3.2 导语格式

3.3 计算构件kernels

3.3.1 构件内有1个循环

3.3.2 构件内2个循环

3.3.3 构件内二重嵌套循环

3.3.4 kernels构件内三重嵌套循环

3.4 loop构件

3.4.1 independent子语

3.4.2 reduction归约子语

3.4.3 不常用的子语

3.5 计算构件parallel

3.5.1 gang单独模式

3.5.2 gang分裂模式

3.5.3 二重循环

3.5.4 三重循环

3.6 组合导语

3.7 案例研究:Jacobi迭代

3.7.1 CPU上并行化

3.7.2 GPU上并行化

3.8 原子操作:atomic导语

第4章 数据管理

4.1 数据属性、数据区域和数据生存期

4.2 计算构件的伴随数据区域

4.2.1 引用计数

4.2.2 present子语

4.2.3 copy子语

4.2.4 copyin子语

4.2.5 copyout子语

4.2.6 create子语

4.2.7 数据子语内的子数组

4.2.8 private私有子语

4.2.9 承上私有firstprivate子语

4.2.10 带有预置数据属性的变量

4.2.11 default默认子语

4.2.12 案例研究:Jacobi迭代优化数据传输

4.3 data构件

4.3.1 数据管理功能

4.3.2 deviceptr子语

4.3.3 案例研究:data构件迭代优化Jacobi数据传输

4.4 enter data导语和exit data导语

4.4.1 C++类的数据生存期

4.4.2 传递设备数据指针

4.5 update导语

4.6 declare导语

4.6.1 device_resident子语

4.6.2 create子语

4.6.3 link子语

4.6.4 用法举例

4.7 特定设备的子语

第5章 计算区域内的过程调用

5.1 routine导语

5.2 seq子语(C版)

5.3 seq子语(Fortran版)

5.4 routine(名字)

5.5 bind子语

5.6 用子语指定并行级别

5.6.1 vector级别并行

5.6.2 worker、worker级别并行

5.7 计算圆周率π

第6章 高级特性

6.1 异步操作

6.1.1 async子语

6.1.2 wait子语

6.1.3 wait导语

6.2 设备计算与主机计算重叠

6.3 设备上同时执行多个队列

6.4 重叠计算与数据传输

6.4.1 步骤0:串行代码

6.4.2 步骤1:计算并行化

6.4.3 步骤2:分块计算

6.4.4 步骤3:数据分块传输

6.4.5 步骤4:重叠计算与传输

6.5 双向传输

6.6 多个设备同时运算

6.6.1 环境变量

6.6.2 运行过程中选择设备

6.6.3 OpenMP调动多个设备

第7章 与GPU生态环境互操作

7.1 OpenACC调用CUDA C

7.2 OpenACC调用CUDA Fortran

7.3 CUDA C调用OpenACC

7.4 捆绑主机地址与设备地址

7.5 CUDA Fortran调用OpenACC

7.6 OpenACC(C)调用cuBLAS

7.7 OpenACC(Fortran)调用cuBLAS

第8章 运行时函数

8.1 运行时库的定义

8.2 运行时库例程

8.2.1 acc_get_num_devices

8.2.2 acc_set_device_type

8.2.3 acc_get_device_type

8.2.4 acc_set_device_num

8.2.5 acc_get_device_num

8.2.6 acc_init

8.2.7 acc_shutdown

8.2.8 acc_async_test

8.2.9 acc_async_test_all

8.2.10 acc_wait

8.2.11 acc_wait_async

8.2.12 acc_wait_all

8.2.13 acc_wait_all_async

8.2.14 acc_get_default_async

8.2.15 acc_set_default_async

8.2.16 acc_on_device

8.2.17 acc_malloc

8.2.18 acc_free

8.2.19 acc_copyin

8.2.20 acc_create

8.2.21 acc_copyout

8.2.22 acc_delete

8.2.23 acc_update_device

8.2.24 acc_update_self

8.2.25 acc_map_data

8.2.26 acc_unmap_data

8.2.27 acc_deviceptr

8.2.28 acc_hostptr

8.2.29 acc_is_present

8.2.30 acc_memcpy_to_device

8.2.31 acc_memcpy_from_device

8.2.32 acc_memcpy_device

第9章 开发环境搭建

9.1 Windows 7

9.2 Linux(rhel)

9.3 编译工具、特性支持度

第10章 在神威·太湖之光上使用OpenACC

10.1 SW26010众核处理器

10.2 存储模型

10.3 执行模型

10.4 数据管理

附录 著名超级计算机

后记 码农的悲喜

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部