图书介绍

多核异构并行计算OpenMP4.5 C/C++篇PDF|Epub|txt|kindle电子书版本网盘下载

多核异构并行计算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 多核CPU2

1.1.2 GPU2

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 常用编译器与OpenMP22

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和子句default43

3.2 子句firstprivate和子句lastprivate49

3.3 指令threadprivate52

3.4 子句copyin和子句copyprivate58

3.5 子句reduction62

3.6 数据竞争67

3.7 伪共享69

3.8 小结71

练习题72

4 并行控制73

4.1 指令parallel73

4.2 设定线程数量76

4.3 默认模式77

4.4 静态模式77

4.5 动态模式78

4.6 嵌套模式与num_threads子句80

4.7 条件并行子句if84

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 指令for98

5.3.1 单重循环100

5.3.2 嵌套循环102

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

5.3.4 子句collapse112

5.4 指令sections115

5.5 指令single117

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

5.7 小结119

练习题119

6 线程同步120

6.1 互斥锁机制121

6.2 事件同步机制121

6.3 指令barrier121

6.4 指令nowait124

6.5 指令master125

6.6 指令critieal128

6.7 指令atomic129

6.8 指令ordered132

6.9 指令flush135

6.10 小结139

练习题139

7 运行环境140

7.1 环境变量140

7.1.1 OMP_DYNAMIC141

7.1.2 OMP_SCHEDULE141

7.1.3 OMP_NUM_THREADS141

7.1.4 OMP_NESTED141

7.1.5 OMP_STACKSIZE142

7.1.6 OMP_WAIT_POLICY142

7.1.7 OMP_PROC_BIND142

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和子句single164

8.2.2 指令for166

8.2.3 指令sections168

8.2.4 包含任务169

8.2.5 递归171

8.3 任务调度原则174

8.3.1 栅障barrier176

8.3.2 指令taskwait176

8.3.3 指令taskgroup177

8.3.4 指令taskyield179

8.3.5 子句if180

8.4 任务的执行和完成181

8.5 任务的数据环境181

8.5.1 共享变量和私有变量182

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

8.5.3 全局变量187

8.6 任务依赖子句depend188

8.7 指令taskloop191

8.8 小规模任务193

8.8.1 子句final193

8.8.2 子句mergeable194

8.9 子句priority195

8.10 小结195

练习题195

9 向量化SIMD196

9.1 SIMD的发展196

9.2 代码风格198

9.3 循环的串行向量化指令simd199

9.3.1 子句aligned204

9.3.2 子句safelen204

9.3.3 子句simdlen205

9.3.4 子句linear205

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

9.5 函数的向量化指令declare simd207

9.5.1 子句inbranch和notinbranch208

9.5.2 子句uniform210

9.6 小结212

练习题212

10 异构计算213

10.1 目标设备查询213

10.2 控制权的移交指令target215

10.2.1 子句device216

10.2.2 子句map216

10.2.3 子句defaultmap218

10.2.4 子句if220

10.2.5 指令target data221

10.2.6 指令target enter data和target exit data224

10.2.7 指令target update225

10.2.8 指令declare target227

10.3 线程组群指令teams228

10.4 工作共享指令distribute230

10.5 异步执行和依赖性232

10.6 OpenMP并行执行模式比较234

10.7 小结237

练习题237

参考文献238

热门推荐