图书介绍

OPENACC并行编程实战pdf电子书版本下载

OPENACC并行编程实战
  • 何沧平著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111549659
  • 出版时间:2017
  • 标注页数:265页
  • 文件大小:94MB
  • 文件页数:276页
  • 主题词:图形软件-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

OPENACC并行编程实战PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 并行编程概览 1

1.1 加速器产品 1

1.1.1 英伟达GPU 3

1.1.2 英特尔至强融核处理器 9

1.2 并行编程语言 12

1.3 CUDA C 14

1.3.1 线程组织方式 16

1.3.2 运行过程 18

1.3.3 内存层级 20

1.3.4 性能优化技术 21

第2章 OpenACC概览 22

2.1 OpenACC规范的内容 23

2.1.1 抽象加速器模型 25

2.1.2 存储模型 25

2.1.3 计算执行模型 26

2.2 OpenACC 2.5 规范 29

第3章 OpenACC计算构件 36

3.1 条件编译 37

3.2 导语格式 38

3.3 计算构件kernels 40

3.3.1 构件内有1个循环 41

3.3.2 构件内2个循环 44

3.3.3 构件内二重嵌套循环 45

3.3.4 kernels构件内三重嵌套循环 48

3.4 loop构件 52

3.4.1 independent子语 53

3.4.2 reduction归约子语 57

3.4.3 不常用的子语 64

3.5 计算构件parallel 66

3.5.1 gang单独模式 68

3.5.2 gang分裂模式 70

3.5.3 二重循环 73

3.5.4 三重循环 75

3.6 组合导语 77

3.7 案例研究:Jacobi迭代 78

3.7.1 CPU上并行化 84

3.7.2 GPU上并行化 88

3.8 原子操作:atomic导语 91

第4章 数据管理 97

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

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

4.2.1 引用计数 101

4.2.2 present子语 102

4.2.3 copy子语 104

4.2.4 copyin子语 105

4.2.5 copyout子语 107

4.2.6 create子语 108

4.2.7 数据子语内的子数组 111

4.2.8 private私有子语 112

4.2.9 承上私有firstprivate子语 115

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

4.2.11 default默认子语 117

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

4.3 data构件 119

4.3.1 数据管理功能 119

4.3.2 deviceptr子语 121

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

4.4 enter data导语和exit data导语 128

4.4.1 C++类的数据生存期 129

4.4.2 传递设备数据指针 133

4.5 update导语 135

4.6 declare导语 138

4.6.1 device resident子语 139

4.6.2 create子语 140

4.6.3 link子语 140

4.6.4 用法举例 141

4.7 特定设备的子语 146

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

5.1 routine导语 150

5.2 seq子语(C版) 151

5.3 seq子语(Fortran版) 152

5.4 routine(名字) 154

5.5 bind子语 155

5.6 用子语指定并行级别 155

5.6.1 vector级别并行 156

5.6.2 worker、worker级别并行 159

5.7 计算圆周率π 160

第6章 高级特性 164

6.1 异步操作 164

6.1.1 async子语 165

6.1.2 wait子语 165

6.1.3 wait导语 166

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

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

6.4 重叠计算与数据传输 172

6.4.1 步骤0:串行代码 174

6.4.2 步骤1:计算并行化 177

6.4.3 步骤2:分块计算 178

6.4.4 步骤3:数据分块传输 179

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

6.5 双向传输 183

6.6 多个设备同时运算 185

6.6.1 环境变量 186

6.6.2 运行过程中选择设备 186

6.6.3 OpenMP调动多个设备 195

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

7.1 OpenACC调用CUDA C 203

7.2 OpenACC调用CUDA Fortran 205

7.3 CUDA C调用OpenACC 207

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

7.5 CUDA Fortran调用OpenACC 210

7.6 OpenACC(C)调用cuBLAS 211

7.7 OpenACC(Fortran)调用cuBLAS 212

第8章 运行时函数 213

8.1 运行时库的定义 213

8.2 运行时库例程 215

8.2.1 acc_get_num_devices 215

8.2.2 acc_set_device_type 216

8.2.3 acc_get_device_type 217

8.2.4 acc_set_device_num 217

8.2.5 acc_get_device_num 218

8.2.6 acc_init 218

8.2.7 acc_shutdown 219

8.2.8 acc_async_test 219

8.2.9 acc_async_test_all 220

8.2.10 acc_wait 220

8.2.11 acc_wait_async 221

8.2.12 acc_wait_all 221

8.2.13 acc_wait_all_async 222

8.2.14 acc_get_default_async 222

8.2.15 acc_set_default_async 223

8.2.16 acc_on_device 223

8.2.17 acc_malloc 224

8.2.18 acc_free 224

8.2.19 acc_copyin 225

8.2.20 acc_create 226

8.2.21 acc_copyout 227

8.2.22 acc_delete 228

8.2.23 acc_update_device 229

8.2.24 acc_update_self 230

8.2.25 acc_map_data 231

8.2.26 acc_unmap_data 231

8.2.27 acc_deviceptr 231

8.2.28 acc_hostptr 232

8.2.29 acc_is_present 232

8.2.30 acc_memcpy_to_device 233

8.2.31 acc_memcpy_from_device 233

8.2.32 acc_memcpy device 234

第9章 开发环境搭建 235

9.1 Windows 7 236

9.2 Linux(rhel) 244

9.3 编译工具、特性支持度 247

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

10.1 SW26010众核处理器 253

10.2 存储模型 254

10.3 执行模型 256

10.4 数据管理 256

附录 著名超级计算机 259

后记 码农的悲喜 264

精品推荐