图书介绍
MPI与OpenMP并行程序设计 C语言版PDF|Epub|txt|kindle电子书版本网盘下载
![MPI与OpenMP并行程序设计 C语言版](https://www.shukui.net/cover/40/30858460.jpg)
- (美)Michael J.Quinn著;陈文光,武永卫等译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302095558
- 出版时间:2004
- 标注页数:426页
- 文件大小:31MB
- 文件页数:441页
- 主题词:并行程序-程序设计-教材
PDF下载
下载说明
MPI与OpenMP并行程序设计 C语言版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章动机和历史1
1.1概述1
目 录1
1.2现代科学方法2
1.3超级计算的进化3
1.4现代并行计算机4
1.4.1 Cosmic Cube并行计算机4
1.4.2商品化的并行计算机5
1.4.3 Beowulf系统6
1.4.4先进战略计算计划6
1.5寻找并行性7
1.5.1数据相关图7
1.5.2数据并行性8
1.5.4流水线9
1.5.3功能并行性9
1.5.5计算规模的考虑因素11
1.6数据聚类11
1.7为并行计算机编程13
1.7.1扩展编译器13
1.7.2扩展串行编程语言14
1.7.3增加并行编程层14
1.7.4创造一个并行语言15
1.7.5现状16
1.8本章小结16
1.9主要术语16
1.10参考文献17
1.11练习题18
16.9本章小结 318
2.2互连网络21
第2章并行体系结构21
2.1概述21
2.2.1共享介质与开关介质22
2.2.2开关网络的拓扑结构22
2.2.3二维网格形网络23
2.2.4二叉树形网络23
2.2.5超树形网络24
2.2.6蝶形网络25
2.2.7超立方体网络26
2.2.8混洗-交换网络27
2.2.9小结28
2.3阵列处理机29
2.3.1体系结构与数据并行29
2.3.2阵列处理机的性能30
2.3.3处理器互连网络31
2.3.4处理器的启动与阻塞32
2.3.6阵列处理机的缺点33
2.4多处理器33
2.3.5其他体系结构特点33
2.4.1集中式多处理器34
2.4.2分布式多处理器35
2.5多计算机38
2.5.1非对称多计算机39
2.5.2对称多计算机40
2.5.3怎样的模型对商用集群41
来说是最佳的41
2.5.4集群与工作站网络之间42
的差异42
2.6弗林分类法42
2.6.3 MISD43
2.6.1 SISD43
2.6.2 SIMD43
2.7本章小结45
2.6.4 MIMD45
2.8主要术语46
2.9参考文献47
2.10练习题47
第3章并行算法设计50
3.1概述50
3.2任务/通道模型50
3.3 Foster的设计方法论51
3.3.1划分52
3.3.2通信53
3.3.3聚集54
3.3.4 映射55
3.4.1简介58
3.4边界值问题58
3.4.2划分59
3.4.3通信59
3.4.4聚集与映射60
3.4.5分析60
3.5找出最大值60
3.5.1简介60
3.5.2划分61
3.5.3通信61
3.5.4聚集与映射64
3.6.1简介65
3.6.2划分65
3.5.5分析65
3.6 n-body问题65
3.6.3通信66
3.6.4聚集与映射67
3.6.5分析67
3.7增加数据输入68
3.7.1简介68
3.7.2通信69
3.7.3分析69
3.8本章小结70
3.9主要术语70
3.10参考文献71
3.11练习题71
4.2消息传递模型74
4.1概述74
第4章消息传递编程74
4.3 MPI接口76
4.4电路可满足性问题76
4.4.1 MPI Init函数80
4.4.2 MPI_Comm_rank和80
MPI Comm size函数80
4.4.3 MPI Finalize函数81
4.4.4编译MPI程序81
4.4.5运行MPI程序81
4.5聚合通信简介83
MPI Reduce函数84
4.6检测并行性能86
4.6.2 MPI Barrier函数87
函数87
4.6.1 MPI Wtime和MPIWtick87
4.7本章小结88
4.8主要术语89
4.10练习题89
4.9参考文献89
第5章Eratosthenes筛法93
5.1概述93
5.2串行算法93
5.3并行性的来源94
5.4数据分解方法95
5.4.1交叉数据分解95
5.4.2按块数据分解95
5.4.3用于按块分解的宏96
5.4.4局部下标还是全局下标97
5.4.5块分解的结果97
5.5开发并行算法97
函数MPI_Bcast98
5.7并行程序的说明99
5.6并行筛法算法的分析99
5.8测试104
5.9改进105
5.9.1删除偶数105
5.9.2消除广播106
5.9.3循环的重新组织106
5.9.4测试106
5.10本章小结108
5.11主要术语108
5.12参考文献108
5.13练习题108
第6章Floyd算法111
6.1概述111
6.2全点对最短路径问题111
6.3运行时创建数组112
6.4.1划分113
6.4设计并行算法113
6.4.2通信114
6.4.3聚合和映射115
6.4.4矩阵的输入/输出116
6.5点对点通信117
6.5.1函数MPI Send118
6.5.2函数MPI Recv119
6.5.3死锁120
6.6并行程序的说明121
6.7分析和测试123
6.8本章小结124
6.10参考文献125
6.11练习题125
6.9主要术语125
第7章性能分析128
7.1概述128
7.2加速比和效率128
7.3 Amdahl定律130
7.3.1 Amdahl定律的局限131
7.3.2 Amdahl效应132
7.4 Gustafson-Barsis定律132
7.5 Karp-Flatt量度134
7.6等效指标136
7.7本章小结139
7.8主要术语140
7.9参考文献141
7.10练习题141
8.1概述143
8.2串行算法143
第8章矩阵向量乘法143
8.3数据分解方式144
8.4矩阵按行分解145
8.4.1设计与分析145
8.4.2复制分块的向量146
8.4.3函数MPI_Allgatherv147
8.4.4被复制向量的输入/输出149
8.4.5编写并行程序149
8.4.6测试150
8.5矩阵按列分解151
8.5.1设计与分析151
8.5.2读取按列分解的矩阵152
8.5.3函数MPI_Scatterv153
8.5.4打印输出按列分块矩阵154
8.5.5函数MPI_Gatherv154
8.5.6分发中间结果155
8.5.7函数MPI_Alltoallv156
8.5.8编写并行程序156
8.5.9测试158
8.6棋盘式分解159
8.6.1设计与分析159
8.6.2创建通信域162
8.6.3函数MPI_Dims_create162
8.6.4函数MPI_Cart_create163
8.6.5读取棋盘式矩阵163
8.6.6函数MPI_Cart_rank164
8.6.7函数MPI_Cart_coords165
8.6.8函数MPI_Comm_split165
8.6.9测试166
8.7本章小结167
8.8主要术语168
8.9参考文献168
8.10练习题169
第9章文档分类173
9.1概述173
9.2并行算法设计173
9.2.3管理者/工人模式174
9.2.2聚集和映射174
9.2.1划分与通信174
9.2.4管理进程175
9.2.5 MPI Abort函数176
9.2.6工人进程177
9.2.7建立一个只有工人的178
通信域178
9.3非阻塞通信179
9.3.1管理进程的通信180
9.3.2 MPI_Irecv函数180
9.3.3 MPI_Wait函数180
9.3.4工人的通信180
9.4文档分类的并行程序181
9.3.6 MPI_Probe函数181
9.3.7 MPI_Get_count函数181
9.3.5 MPI_Isend函数181
9.5.1按组分配文档187
9.5算法改进187
9.5.2流水线处理187
9.5.3 MPI_Testsome函数189
9.6本章小结189
9.8参考文献190
9.9练习题190
9.7主要术语190
第10章蒙特卡洛法193
10.1概述193
10.1.1为什么蒙特卡洛法195
能奏效195
10.1.2蒙特卡洛法与并行计算196
10.2串行随机数生成器196
10.2.1线性同余法197
10.2.2滞后形斐波那契生成器197
10.3.1管理者-工人方法198
10.3.2蛙跳方法198
10.3并行随机数产生器198
10.3.3序列分割199
10.3.4参数化199
10.4其他的随机数分布200
10.4.1逆分布累积分布200
函数变换200
10.4.2 Box-Muller变换201
10.4.3拒绝法202
10.5.1中子输运204
10.5应用示例204
10.5.2 二维板上一个点的206
温度206
10.5.3二维易辛模型207
10.5.4房间分配问题209
10.5.5车库停车问题212
10.5.6交通环路213
10.6本章小结216
10.7主要术语216
10.8参考文献217
10.9练习题218
11.2矩阵相乘的串行算法220
11.2.1基于行的迭代算法220
11.1概述220
第11章矩阵乘法220
11.2.2基于块的递归算法222
11.3行块分解并行算法224
11.3.1确定原始任务224
11.3.2聚合224
11.3.3通信和进一步的聚合225
11.3.4分析226
11.4 Cannon算法227
11.4.1组合227
11.4.2通信228
11.4.3分析229
11.5本章小结230
11.7参考文献231
11.8练习题231
11.6主要术语231
12.2基本术语233
第12章线性方程组求解233
12.1概述233
12.3回代法234
12.3.1 串行算法234
12.3.2面向行的并行算法236
12.3.3面向列的并行算法236
12.3.4对比237
12.4高斯消去法237
12.4.1串行算法237
12.4.2并行算法239
12.4.3面向行的算法240
12.4.4面向列的算法242
12.4.5对比242
12.4.6面向行的流水线算法243
12.5迭代法244
12.6.1串行算法247
12.6共轭梯度法247
12.6.2并行算法249
12.7本章小结250
12.8主要术语251
12.9参考文献251
12.10练习题252
第13章有限差分方法254
13.1概述254
13.2偏微分等式255
13.2.1偏微分方程的分类255
13.2.2差分商256
13.3.1导出方程257
13.3弦振荡问题257
13.3.2串行程序259
13.3.3并行程序设计260
13.3.4等效分析261
13.3.5冗余计算262
13.4稳定状态热量分布问题263
13.4.1方程的导出263
13.4.2串行程序导出264
13.4.3并行程序设计265
13.4.4等效分析266
13.4.5实现细节267
13.5本章小结267
13.6主要术语268
13.7参考文献268
13.8练习题269
第14章排序271
14.1概述271
14.2快速排序271
14.3并行快速排序算法272
14.3.1排序完毕的定义273
14.3.2算法开发273
14.3.3分析273
14.4超级快速排序274
14.4.1算法描述274
14.4.2等效分析275
14.5.2等效分析277
14.5规则取样并行排序277
14.5.1算法描述277
14.6本章小结279
14.8参考文献280
14.9练习题280
14.7主要术语280
第15章快速傅立叶变换283
15.1概述283
15.2傅立叶分析283
15.3离散傅立叶变换285
15.3.1离散傅立叶逆变换286
15.3.2应用示例:多项式乘法286
15.4快速傅立叶变换288
15.5.1分割与通信291
15.5并行程序设计291
15.5.3等效分析292
15.5.2聚合与映射292
15.6本章小结294
15.7主要术语294
15.8参考文献294
15.9练习题294
第16章组合搜索296
16.1概述296
16.2回溯搜索297
16.2.1示例297
16.2.2 时间和空间复杂性298
16.3并行回溯算法298
16.4分布式终止检测302
16.5分支定界法304
16.5.1示例304
16.5.2串行算法306
16.5.3分析308
16.6并行分支定界法308
16.6.1存储和共享待解的308
子问题308
16.6.2效率309
16.6.3停机条件309
16.7搜索博弈树312
16.7.1最大最小算法312
16.7.2 Alpha-Beta剪枝313
16.7.3 Alpha-Beta剪枝法315
的改进315
16.8.2并行子树估值316
16.8.1并行渴望搜索316
16.8并行Alpha-Beta搜索316
16.8.3分布式树搜索317
16.10主要术语319
16.11参考文献320
16.12练习题320
第17章共事存储编程323
17.1概述323
17.2共享存储模型324
17.3对for循环的并行化325
17.3.1 paralldfor编译325
指导语句325
函数327
17.3.3 omp_set_hum_threads327
函数327
17.3.2 omp_get_num_procs327
17.4声明私有变量328
17.4.1 private子句328
17.4.2 firstprivate子句329
17.4.3 lastprivate子句330
17.5 临界区330
critical编译指导语句331
17.6归约操作332
17.7性能改善333
17.7.1循环转化333
17.7.2条件执行循环334
17.7.3循环调度335
17.8更普遍的数据并行336
17.8.1 parallel编译指导语句338
17.8.2 omp_get_thread_num339
函数339
17.8.3 omp_get_num_threads340
函数340
17.8.4编译指导语句for340
17.8.5 single编译指导语句342
17.8.6 nowait子句342
17.9功能并行343
17.9.1 parallel sections编译指导语句343
17.9.2 section编译指导语句344
17.9.3 sections编译指导语句344
17.10本章小结345
17.13练习题347
17.12参考文献347
17.11主要术语347
第18章融合OpenMP和MPI350
18.1概述350
18.2共轭梯度算法351
18.2.1 MPI程序351
18.2.2函数级程序轮廓刻画354
18.2.3对函数matrix_vector_355
product进行并行化355
18.2.4测试程序355
18.3 Jacobi方法356
18.3.1 MPI程序轮廓刻画356
18.3.2对函数find_steady_state并行化357
18.3.3测试程序359
18.5练习题360
18.4本章小结360
附录A MPI函数362
附录B工具函数393
B.1 MyMPI.h头文件393
B.2 MyMPI.c源文件394
附录C调试MPI程序412
C.1概述412
C.2 MPI程序常见错误412
C.2.1死锁错误412
C.2.2导致不准确结果的错误413
C.2.3组通信的优点413
C.3实用调试策略413
附录D复数回顾415
附录E OpenMP函数418
参考文献420