图书介绍

多核异构并行计算OpenMP4.5 C/C++篇pdf电子书版本下载

多核异构并行计算OpenMP4.5 C/C++篇
  • 雷洪编著 著
  • 出版社: 北京:冶金工业出版社
  • ISBN:9787502476571
  • 出版时间:2018
  • 标注页数:239页
  • 文件大小:118MB
  • 文件页数:251页
  • 主题词:C语言-并行程序-程序设计-高等学校-教材

PDF下载


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

下载说明

多核异构并行计算OpenMP4.5 C/C++篇PDF格式电子书版下载

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

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

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

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

图书目录

1 并行计算概论 1

1.1 并行计算机的种类 2

1.1.1 多核CPU 2

1.1.2 GPU 2

1.1.3 CPU与存储器的连接方式 3

1.1.4 数据的通信方式 4

1.1.5 常见的并行计算硬件系统 5

1.1.6 指令和数据之间的工作方式 5

1.2 并行计算 5

1.2.1 并行计算、高性能计算与超级计算 5

1.2.2 并行处理技术 6

1.3 高性能并行计算特征 7

1.4 并行编程模式 7

1.4.1 共享内存模式 8

1.4.2 消息传递模式 8

1.4.3 数据并行模式 9

1.4.4 异构计算 10

1.5 OpenMP和MPI的特点 13

1.6 并行计算中常用概念 14

1.6.1 并发、并行和并行计算 14

1.6.2 程序、线程、进程和超线程 15

1.6.3 单核编程和多核编程 16

1.6.4 线程绑定 17

1.6.5 多线程编程和多进程编程 17

1.6.6 并行算法评价 18

1.7 OpenMP多核编程 20

1.7.1 OpenMP历史 20

1.7.2 OpenMP特点 21

1.8 Linux系统 22

1.9 常用编译器与OpenMP 22

1.9.1 Windows环境下Visual Studio 2008命令行界面的编译和执行 23

1.9.2 Windows环境下Visual Studio 2008菜单界面的编译和执行 24

1.9.3 Windows环境下MinGW-W64的安装 25

1.9.4 Linux环境下Intel C/C+++编译器icc的安装 26

1.9.5 在Windows系统下远程操作服务器端Linux环境下的编译器 26

1.9.6 Windows和Linux环境下常用命令和系统资源检查 27

1.10 小结 27

练习题 28

2 OpenMP编程简介 30

2.1 编译指导语句 30

2.2 并行执行模式 31

2.2.1 编译指导语句格式 31

2.2.2 主要指令 32

2.2.3 主要子句 33

2.2.4 指令的作用域 34

2.2.5 指令和子句的配套使用 35

2.3 头文件 36

2.4 常用库函数 37

2.5 最简单的并行程序 37

2.6 小结 42

练习题 42

3 数据环境 43

3.1 子句private、子句shared和子句default 43

3.2 子句firstprivate和子句lastprivate 49

3.3 指令threadprivate 52

3.4 子句copyin和子句copyprivate 58

3.5 子句reduction 62

3.6 数据竞争 67

3.7 伪共享 69

3.8 小结 71

练习题 72

4 并行控制 73

4.1 指令parallel 73

4.2 设定线程数量 76

4.3 默认模式 77

4.4 静态模式 77

4.5 动态模式 78

4.6 嵌套模式与num_threads子句 80

4.7 条件并行子句if 84

4.8 动态设置并行循环的线程数量 86

4.9 小结 86

练习题 86

5 并行构造 87

5.1 负载平衡 88

5.1.1 静态负载平衡 89

5.1.2 动态负载平衡 89

5.2 依赖关系 90

5.2.1 循环依赖 90

5.2.2 内存依赖 95

5.2.3 任务依赖 96

5.3 指令for 98

5.3.1 单重循环 100

5.3.2 嵌套循环 102

5.3.3 循环工作量的划分与调度 104

5.3.4 子句collapse 112

5.4 指令sections 115

5.5 指令single 117

5.6 合并的并行工作共享结构 119

5.7 小结 119

练习题 119

6 线程同步 120

6.1 互斥锁机制 121

6.2 事件同步机制 121

6.3 指令barrier 121

6.4 指令nowait 124

6.5 指令master 125

6.6 指令critieal 128

6.7 指令atomic 129

6.8 指令ordered 132

6.9 指令flush 135

6.10 小结 139

练习题 139

7 运行环境 140

7.1 环境变量 140

7.1.1 OMP_DYNAMIC 141

7.1.2 OMP_SCHEDULE 141

7.1.3 OMP_NUM_THREADS 141

7.1.4 OMP_NESTED 141

7.1.5 OMP_STACKSIZE 142

7.1.6 OMP_WAIT_POLICY 142

7.1.7 OMP_PROC_BIND 142

7.1.8 环境变量的设置方法 142

7.1.9 段错误和环境变量的应用 143

7.2 库函数 144

7.2.1 运行环境操作函数 144

7.2.2 OpenMP时间函数 146

7.2.3 热点分析 148

7.2.4 锁函数 151

7.3 小结 156

练习题 156

8 任务 157

8.1 任务简介 157

8.1.1 任务结构 158

8.1.2 任务类别 159

8.2 任务的创建 163

8.2.1 指令parallel和子句single 164

8.2.2 指令for 166

8.2.3 指令sections 168

8.2.4 包含任务 169

8.2.5 递归 171

8.3 任务调度原则 174

8.3.1 栅障barrier 176

8.3.2 指令taskwait 176

8.3.3 指令taskgroup 177

8.3.4 指令taskyield 179

8.3.5 子句if 180

8.4 任务的执行和完成 181

8.5 任务的数据环境 181

8.5.1 共享变量和私有变量 182

8.5.2 任务与对栈数据的引用 184

8.5.3 全局变量 187

8.6 任务依赖子句depend 188

8.7 指令taskloop 191

8.8 小规模任务 193

8.8.1 子句final 193

8.8.2 子句mergeable 194

8.9 子句priority 195

8.10 小结 195

练习题 195

9 向量化SIMD 196

9.1 SIMD的发展 196

9.2 代码风格 198

9.3 循环的串行向量化指令simd 199

9.3.1 子句aligned 204

9.3.2 子句safelen 204

9.3.3 子句simdlen 205

9.3.4 子句linear 205

9.4 循环的并行向量化指令for simd 207

9.5 函数的向量化指令declare simd 207

9.5.1 子句inbranch和notinbranch 208

9.5.2 子句uniform 210

9.6 小结 212

练习题 212

10 异构计算 213

10.1 目标设备查询 213

10.2 控制权的移交指令target 215

10.2.1 子句device 216

10.2.2 子句map 216

10.2.3 子句defaultmap 218

10.2.4 子句if 220

10.2.5 指令target data 221

10.2.6 指令target enter data和target exit data 224

10.2.7 指令target update 225

10.2.8 指令declare target 227

10.3 线程组群指令teams 228

10.4 工作共享指令distribute 230

10.5 异步执行和依赖性 232

10.6 OpenMP并行执行模式比较 234

10.7 小结 237

练习题 237

参考文献 238

精品推荐