图书介绍
并行计算的编程模型【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)帕万·巴拉吉(Pavan Balaji)著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111573340
- 出版时间:2017
- 标注页数:289页
- 文件大小:43MB
- 文件页数:303页
- 主题词:并行程序-程序设计
PDF下载
下载说明
并行计算的编程模型PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 消息传递接口1
1.1引言1
1.2 MPI基础1
1.3点对点通信2
1.4数据类型3
1.5非阻塞式通信4
1.6聚合通信5
1.7单边通信7
1.8并行I/O9
1.9其他特性11
1.10 MPI开发心得12
1.11总结13
第2章 全局地址空间网络14
2.1研究背景与动机14
2.2 GASNet概述14
2.2.1相关术语15
2.2.2线程15
2.2.3 API组织16
2.3核心API16
2.3.1开始和结束16
2.3.2段信息18
2.3.3屏障18
2.3.4锁与中断19
2.3.5活动消息20
2.3.6活动消息进程22
2.3.7活动消息规则与约束22
2.3.8出错代码23
2.4扩展API23
2.4.1 GASNet段23
2.4.2排序与内存模型24
2.4.3阻塞与非阻塞24
2.4.4批量与单个24
2.4.5寄存器-内存与远程memset操作24
2.4.6扩展API总结25
2.5附加内容26
2.5.1 GASNet工具26
2.5.2可移植平台头文件27
2.6示例27
2.6.1编译和运行示例27
2.6.2 Hello World示例28
2.6.3 AM Ping-Pong示例28
2.6.4 AM Ring示例30
2.6.5 MCS Locks示例32
2.7未来方向35
第3章OpenSHMEM37
3.1引言37
3.2设计理念和根据37
3.3 OpenSHMEM存储模型39
3.4对称堆管理39
3.4.1初始化和查询40
3.4.2分配和释放40
3.4.3关于分配和对称堆的说明41
3.5远程内存访问:put和get41
3.5.1 RMA函数语义41
3.5.2 RMA函数使用42
3.6排序和同步44
3.6.1全局同步屏障44
3.6.2 fence和quiet:RMA操作排序45
3.6.3锁46
3.6.4 wait和waituntil46
3.7集合操作47
3.7.1选择集合参与者47
3.7.2同步数组和工作数组47
3.7.3非全局同步屏障48
3.7.4广播48
3.7.5收集49
3.7.6归约50
3.8原子内存操作51
3.8.1原子加和递增52
3.8.2原子取-加和取-递增52
3.8.3原子交换和条件交换53
3.9未来方向54
第4章 统一并行C55
4.1 UPC简史55
4.2 UPC编程模型56
4.2.1术语56
4.2.2全局地址空间56
4.2.3执行模型57
4.3 UPC概览57
4.3.1自省57
4.3.2数据布局57
4.3.3通信59
4.3.4 UPC内存一致性模型60
4.3.5同步61
4.3.6集合操作62
4.4 UPC程序示例63
4.4.1随机访问基准63
4.4.2雅可比5点stencil64
4.4.3排序示例65
4.4.4一维FFT68
4.5未来方向71
第5章 全局数组72
5.1引言72
5.2编程模型与设计原则73
5.3核心功能74
5.4进程组77
5.5扩展的数组结构78
5.6稀疏数组操作的支持79
5.7数组上的集合操作80
5.8动态负载均衡80
5.9实际应用80
第6章Chapel82
6.1 Chapel简史82
6.1.1全面启动82
6.1.2初始方向83
6.1.3 HPCS时代83
6.1.4后HPCS时代84
6.2 Chapel的主题思想84
6.2.1通用并行性表达84
6.2.2支持多线程执行模型85
6.2.3支持全局视图编程85
6.2.4支持多尺度设计85
6.2.5支持局部性控制86
6.2.6支持以数据为中心的同步86
6.2.7用户与编译器的不同角色86
6.2.8缩小主流语言和HPC语言之间的差距87
6.2.9从头开始(但争取令人熟悉)87
6.2.10远大目标88
6.2.11促使Chapel成为可移植的开源软件88
6.3 Chapel特性概述88
6.3.1基本语言特性89
6.3.2任务并行92
6.3.3数据并行96
6.3.4位置特性98
6.4总结与未来方向100
第7章Charm+102
7.1引言102
7.2 Charm的编程范例以及执行模型102
7.2.1以过分解作为核心思想102
7.2.2消息驱动的执行模型103
7.2.3授权自适应运行时系统104
7.3基本语言104
7.3.1 chare:分解的基本单元104
7.3.2入口方法:基本的调度单元105
7.3.3异步方法调用105
7.3.4带索引的chare集合:chare数组105
7.3.5只读变量106
7.3.6 Charm+++对象:用户及系统角度107
7.3.7结构化匕首符号108
7.3.8示例:一维分解的5点stencil代码108
7.4过分解的好处以及消息驱动执行110
7.4.1不依赖于处理器个数110
7.4.2异步归约110
7.4.3自适应计算与通信重叠110
7.4.4合成性111
7.4.5软件工程方面的好处:逻辑实体的相互独立111
7.5一个设计示例:分子动力学模拟111
7.6自适应运行时特性112
7.6.1 Charm+++中负载均衡功能112
7.6.2容错113
7.6.3缩小或扩展处理器集合114
7.6.4异构处理器以及加速器的支持115
7.6.5额外特性115
7.6.6实验特性:热能与功耗管理115
7.7底层架构概述115
7.8基于Charm++的高层次语言家族116
7.9通过Charm++来开发应用程序117
7.10作为研究工具的Charm ++118
7.11 Charm++:历史以及现状118
7.12总结118
第8章 异步动态负载均衡119
8.1引言119
8.2 manager-worker模型与负载均衡119
8.3 ADLB库定义121
8.3.1 API简介121
8.3.2基本的ADLB API122
8.3.3使用批处理优化内存使用123
8.3.4获取和使用ADLB124
8.4实现ADLB124
8.4.1 ADLBM实现124
8.4.2其他实现125
8.5示例125
8.5.1一个简单的批处理调度125
8.5.2动态任务创建:数独解法126
8.5.3任务单元类型:旅行推销员问题127
8.5.4 GFMC127
8.5.5 Swift128
8.6 DMEM:一个处理大数据的辅助库128
8.7总结与未来方向129
第9章 可拓展任务对象集合130
9.1 Scioto任务并行执行模型131
9.1.1任务对象131
9.1.2任务输入/输出模型132
9.1.3任务执行模型132
9.2多级并行任务集合133
9.3 Scioto + GA编程接口134
9.3.1核心编程结构134
9.3.2实现一个Scioto任务135
9.3.3示例:矩阵-矩阵乘法135
9.4 Scioto运行时系统136
9.4.1共享任务队列方法136
9.4.2动态负载均衡方法137
9.4.3终止检测137
9.5总结138
第10章Swift:极端规模的隐式并行脚本139
10.1第一个示例:并行因式分解140
10.2一个真实的示例:晶体坐标转换140
10.3 Swift发展历史142
10.4 Swift语言和编程模型142
10.4.1 Hello World示例143
10.4.2变量和标量数据类型143
10.4.3数据流执行144
10.4.4条件判断语句145
10.4.5数据依赖控制流145
10.4.6 foreach循环和数组145
10.4.7 Swift函数146
10.4.8外部函数147
10.4.9文件和app函数148
10.5 Swift执行模型148
10.6大规模并行运行时系统150
10.7运行时架构151
10.8性能分析153
10.9 Swift的大规模并行编译153
10.10相关工作154
10.11总结155
第11章 并发集合编程模型157
11.1引言157
11.2研究动机158
11.3 CnC领域语言158
11.3.1概述158
11.3.2特征160
11.3.3示例161
11.3.4执行语义162
11.3.5 CnC编程163
11.3.6未来工作167
11.4 CnC调优语言168
11.4.1描述168
11.4.2特征171
11.4.3示例171
11.4.4执行模型173
11.4.5未来工作175
11.5当前状态175
11.6相关工作175
11.7总结177
第12章OpenMP178
12.1引言178
12.2概述179
12.2.1术语179
12.2.2管理数据环境180
12.2.3 OpenMP概念简述181
12.3 OpenMP特性182
12.3.1并行区域182
12.3.2同步186
12.3.3工作共享187
12.3.4任务并行化191
12.3.5向量化195
12.3.6加速器支持196
12.3.7区域取消199
12.4性能优化建议200
12.5关于正确性的思考201
12.6总结与未来方向201
第13章Cilk Plus202
13.1引言202
13.2向量并行化203
13.2.1数组标注204
13.2.2 pragma SIMD205
13.2.3支持SIMD的函数206
13.3线程并行208
13.4并行性能211
13.5数据竞争215
13.6实践技巧216
13.7历史219
13.8总结220
第14章IntelTBB工具221
14.1引言221
14.1.1概述221
14.1.2基本信息221
14.2泛型并行算法222
14.2.1简单循环的并行化222
14.2.2在STL容器中处理数据223
14.2.3复杂迭代空间224
14.2.4其他算法226
14.3流图226
14.3.1概述227
14.3.2节点通信协议227
14.3.3控制依赖图228
14.3.4数据流图230
14.3.5流图、算法和无环图的选择232
14.4总结232
第15章C U DA233
15.1 CUDA简史233
15.2 CUDA编程结构234
15.3示例:向量加法235
15.4设备内存和数据传输236
15.5 kernel函数与线程238
15.6线程组织240
15.7线程和多维数据的映射242
15.8同步与透明可扩展性243
15.9线程块的资源分配244
15.10 CUDA流与任务并行244
15.11总结248
第16章OpenCL开放计算语言249
16.1计算语言与OpenCL249
16.2基本定义250
16.3计算机、编程和异构250
16.4 OpenCL的诞生251
16.5 OpenCL的核心模型252
16.5.1平台模型252
16.5.2执行模型253
16.5.3内存模型255
16.5.4编程模型257
16.6 OpenCL主机程序:向量加法258
16.7总结266
参考文献268
热门推荐
- 2931482.html
- 3570281.html
- 2520123.html
- 1649198.html
- 2985221.html
- 2898360.html
- 2763863.html
- 1339340.html
- 2743354.html
- 2198234.html
- http://www.ickdjs.cc/book_725761.html
- http://www.ickdjs.cc/book_2147603.html
- http://www.ickdjs.cc/book_2485037.html
- http://www.ickdjs.cc/book_1959210.html
- http://www.ickdjs.cc/book_2460066.html
- http://www.ickdjs.cc/book_51546.html
- http://www.ickdjs.cc/book_918894.html
- http://www.ickdjs.cc/book_93541.html
- http://www.ickdjs.cc/book_1468476.html
- http://www.ickdjs.cc/book_2381231.html