图书介绍
多核并行高性能计算 OpenMPpdf电子书版本下载
- 雷洪,胡许冰编著 著
- 出版社: 北京:冶金工业出版社
- ISBN:9787502472498
- 出版时间:2016
- 标注页数:272页
- 文件大小:66MB
- 文件页数:284页
- 主题词:并行程序-程序设计-高等学校-教材
PDF下载
下载说明
多核并行高性能计算 OpenMPPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1 并行计算概论 1
1.1 多核CPU 2
1.2 并行计算与分布式计算 2
1.3 并行计算机的种类 3
1.3.1 CPU与存储器的连接方式 3
1.3.2 数据的通信方式 4
1.3.3 指令和数据之间的工作方式 5
1.4 并行编程模式 5
1.4.1 共享内存模式 6
1.4.2 消息传递模式 7
1.4.3 数据并行模式 8
1.5 OpenMP和MPI的特点 10
1.6 并行计算中常用概念 11
1.6.1 程序、线程、进程和超线程 11
1.6.2 单核编程和多核编程 12
1.6.3 多线程编程和多进程编程 13
1.6.4 并行算法评价 13
1.7 OpenMP多核编程 15
1.7.1 OpenMP的历史 15
1.7.2 OpenMP的特点 16
1.8 科学计算领域语言的选取 16
1.9 Fortran发展历史 18
1.9.1 Windows系统 18
1.9.2 Linux系统 18
1.9.3 Fortran程序的编译和执行 19
1.10 小结 21
练习题 21
2 OpenMP编程简介 22
2.1 编译指导语句 23
2.2 并行执行模式 23
2.2.1 编译指导语句格式 24
2.2.2 主要指令 25
2.2.3 主要子句 26
2.2.4 指令和子句的配套使用 27
2.3 头文件 28
2.4 常用库函数 28
2.5 最简单的并行程序 29
2.6 小结 33
练习题 33
3 数据环境 34
3.1 PRIVATE子句、SHARED子句和DEFAULT子句 34
3.2 FIRSTPRIVATE子句和LASTPRIVATE子句 38
3.3 THREADPRIVATE子句 41
3.4 COPYIN子句和COPYPRIVATE子句 45
3.5 REDUCTION子句 49
3.6 伪共享 53
3.7 小结 54
练习题 54
4 并行控制 56
4.1 PARALLEL指令 56
4.2 设定线程数量 59
4.3 默认模式 59
4.4 静态模式 60
4.5 动态模式 61
4.6 嵌套模式与NUM_THREADS子句 63
4.7 IF子句(条件并行) 65
4.8 小结 67
练习题 68
5 并行构造 69
5.1 负载平衡 69
5.1.1 静态负载平衡 69
5.1.2 动态负载平衡 70
5.2 DO指令 71
5.2.1 循环依赖 73
5.2.2 单重循环 78
5.2.3 嵌套循环 80
5.2.4 循环工作量的划分与调度 83
5.3 SECTIONS指令 90
5.4 WORKSHARE指令 93
5.5 SINGLE指令 96
5.6 小结 98
练习题 98
6 线程同步 99
6.1 互斥锁机制 99
6.2 事件同步机制 100
6.3 BARRIER指令 100
6.4 NOWAIT指令 102
6.5 MASTER指令 104
6.6 CRITICAL指令 106
6.7 ATOMIC指令 108
6.8 ORDERED指令 110
6.9 FLUSH指令 113
6.10 小结 115
练习题 115
7 运行环境 117
7.1 环境变量 117
7.1.1 OMP_DYNAMIC 117
7.1.2 OMP_SCHEDULE 118
7.1.3 OMP_NUM_THREADS 118
7.1.4 OMP_NESTED 118
7.1.5 OMP_STACKSIZE 118
7.1.6 环境变量的设置方法 119
7.2 库函数 120
7.2.1 运行环境操作函数 120
7.2.2 OpenMP时间函数 121
7.2.3 Fortran常用时间函数 123
7.2.4 锁函数 129
7.3 小结 139
练习题 139
8 OpenMP 3.0新特征 140
8.1 任务 140
8.1.1 任务结构 140
8.1.2 任务特征 141
8.1.3 任务类别 141
8.1.4 任务同步 143
8.1.5 DO指令、SECTIONS指令和TASK指令 143
8.1.6 TASK指令与递归算法 151
8.2 COLLAPSE子句 154
8.3 锁拥有者的变迁 156
8.4 小结 157
练习题 157
9 应用实例 158
9.1 循环的并行 158
9.1.1 单重循环 159
9.1.2 多维数组和嵌套循环 167
9.2 粗粒度的设置 171
9.2.1 IF子句 171
9.2.2 if语句 173
9.2.3 方案总结 175
9.3 全局变量和局部变量 175
9.3.1 common定义 176
9.3.2 module定义 179
9.3.3 全局变量和局部变量、共享变量和私有变量 181
9.3.4 私有变量和段错误 182
9.4 小结 183
练习题 183
10 高性能计算程序的实现途径 185
10.1 硬件条件和操作系统 186
10.2 科学问题算法的优化 186
10.2.1 数学模型 187
10.2.2 求解方法 188
10.3 串行程序的编写 190
10.4 常见的调试器 191
10.5 高性能程序的优化步骤 191
10.6 串行程序的正确性调试 193
10.6.1 程序的错误类型 193
10.6.2 计算程序中常见错误 193
10.6.3 静态安全检查 194
10.6.4 动态安全检查 198
10.6.5 IDBC串行调试 200
10.7 程序热点的确定 206
10.7.1 编译器热点分析报告 206
10.7.2 手动热点分析报告 211
10.8 串行程序的优化 215
10.8.1 循环变换 216
10.8.2 向量化 219
10.8.3 Intel Fortran常用优化策略 230
10.9 并行程序的优化 236
10.9.1 性能提升的预估 236
10.9.2 并行优化步骤 236
10.9.3 向导自动并行化(GAP) 237
10.9.4 优化技术 238
10.9.5 自动并行化 238
10.9.6 并行调试策略 239
10.9.7 IDBC并行调试 240
10.10 小结 245
练习题 245
附录 246
附录1 常用的Linux命令 246
附录2 Linux下的文本编辑器vi 249
附录2.1 vi的基本概念 249
附录2.2 vi的主要操作 249
附录3 Intel Fortran安装 252
附录4 常用的GDB命令 256
附录5 Linux环境下Intel Fortran常用编译方案 259
附录6 Intel Fortran常用编译开关 261
附录7 C和C++语言中OpenMP常见用法 266
附录7.1 语法格式 266
附录7.2 头文件 266
附录7.3 指令类 266
附录7.4 子句类 268
附录7.5 库函数 269
附录7.6 最简单的C/C++并行程序 270
附录7.7 OpenMP并行程序的编译和执行 270
参考文献 271