主页 详情

《并行计算的编程模型》_(美)帕万·巴拉吉(Pavan Balaji)著_14262186_9787111573340

【书名】:《并行计算的编程模型》
【作者】:(美)帕万·巴拉吉(Pavan Balaji)著
【出版社】:北京:机械工业出版社
【时间】:2017
【页数】:289
【ISBN】:9787111573340
【SS码】:14262186

最新查询

内容简介

第1章 消息传递接口

1.1引言

1.2 MPI基础

1.3点对点通信

1.4数据类型

1.5非阻塞式通信

1.6聚合通信

1.7单边通信

1.8并行I/O

1.9其他特性

1.10 MPI开发心得

1.11总结

第2章 全局地址空间网络

2.1研究背景与动机

2.2 GASNet概述

2.2.1相关术语

2.2.2线程

2.2.3 API组织

2.3核心API

2.3.1开始和结束

2.3.2段信息

2.3.3屏障

2.3.4锁与中断

2.3.5活动消息

2.3.6活动消息进程

2.3.7活动消息规则与约束

2.3.8出错代码

2.4扩展API

2.4.1 GASNet段

2.4.2排序与内存模型

2.4.3阻塞与非阻塞

2.4.4批量与单个

2.4.5寄存器-内存与远程memset操作

2.4.6扩展API总结

2.5附加内容

2.5.1 GASNet工具

2.5.2可移植平台头文件

2.6示例

2.6.1编译和运行示例

2.6.2 Hello World示例

2.6.3 AM Ping-Pong示例

2.6.4 AM Ring示例

2.6.5 MCS Locks示例

2.7未来方向

第3章OpenSHMEM

3.1引言

3.2设计理念和根据

3.3 OpenSHMEM存储模型

3.4对称堆管理

3.4.1初始化和查询

3.4.2分配和释放

3.4.3关于分配和对称堆的说明

3.5远程内存访问:put和get

3.5.1 RMA函数语义

3.5.2 RMA函数使用

3.6排序和同步

3.6.1全局同步屏障

3.6.2 fence和quiet:RMA操作排序

3.6.3锁

3.6.4 wait和waituntil

3.7集合操作

3.7.1选择集合参与者

3.7.2同步数组和工作数组

3.7.3非全局同步屏障

3.7.4广播

3.7.5收集

3.7.6归约

3.8原子内存操作

3.8.1原子加和递增

3.8.2原子取-加和取-递增

3.8.3原子交换和条件交换

3.9未来方向

第4章 统一并行C

4.1 UPC简史

4.2 UPC编程模型

4.2.1术语

4.2.2全局地址空间

4.2.3执行模型

4.3 UPC概览

4.3.1自省

4.3.2数据布局

4.3.3通信

4.3.4 UPC内存一致性模型

4.3.5同步

4.3.6集合操作

4.4 UPC程序示例

4.4.1随机访问基准

4.4.2雅可比5点stencil

4.4.3排序示例

4.4.4一维FFT

4.5未来方向

第5章 全局数组

5.1引言

5.2编程模型与设计原则

5.3核心功能

5.4进程组

5.5扩展的数组结构

5.6稀疏数组操作的支持

5.7数组上的集合操作

5.8动态负载均衡

5.9实际应用

第6章Chapel

6.1 Chapel简史

6.1.1全面启动

6.1.2初始方向

6.1.3 HPCS时代

6.1.4后HPCS时代

6.2 Chapel的主题思想

6.2.1通用并行性表达

6.2.2支持多线程执行模型

6.2.3支持全局视图编程

6.2.4支持多尺度设计

6.2.5支持局部性控制

6.2.6支持以数据为中心的同步

6.2.7用户与编译器的不同角色

6.2.8缩小主流语言和HPC语言之间的差距

6.2.9从头开始(但争取令人熟悉)

6.2.10远大目标

6.2.11促使Chapel成为可移植的开源软件

6.3 Chapel特性概述

6.3.1基本语言特性

6.3.2任务并行

6.3.3数据并行

6.3.4位置特性

6.4总结与未来方向

第7章Charm+

7.1引言

7.2 Charm的编程范例以及执行模型

7.2.1以过分解作为核心思想

7.2.2消息驱动的执行模型

7.2.3授权自适应运行时系统

7.3基本语言

7.3.1 chare:分解的基本单元

7.3.2入口方法:基本的调度单元

7.3.3异步方法调用

7.3.4带索引的chare集合:chare数组

7.3.5只读变量

7.3.6 Charm+++对象:用户及系统角度

7.3.7结构化匕首符号

7.3.8示例:一维分解的5点stencil代码

7.4过分解的好处以及消息驱动执行

7.4.1不依赖于处理器个数

7.4.2异步归约

7.4.3自适应计算与通信重叠

7.4.4合成性

7.4.5软件工程方面的好处:逻辑实体的相互独立

7.5一个设计示例:分子动力学模拟

7.6自适应运行时特性

7.6.1 Charm+++中负载均衡功能

7.6.2容错

7.6.3缩小或扩展处理器集合

7.6.4异构处理器以及加速器的支持

7.6.5额外特性

7.6.6实验特性:热能与功耗管理

7.7底层架构概述

7.8基于Charm++的高层次语言家族

7.9通过Charm++来开发应用程序

7.10作为研究工具的Charm ++

7.11 Charm++:历史以及现状

7.12总结

第8章 异步动态负载均衡

8.1引言

8.2 manager-worker模型与负载均衡

8.3 ADLB库定义

8.3.1 API简介

8.3.2基本的ADLB API

8.3.3使用批处理优化内存使用

8.3.4获取和使用ADLB

8.4实现ADLB

8.4.1 ADLBM实现

8.4.2其他实现

8.5示例

8.5.1一个简单的批处理调度

8.5.2动态任务创建:数独解法

8.5.3任务单元类型:旅行推销员问题

8.5.4 GFMC

8.5.5 Swift

8.6 DMEM:一个处理大数据的辅助库

8.7总结与未来方向

第9章 可拓展任务对象集合

9.1 Scioto任务并行执行模型

9.1.1任务对象

9.1.2任务输入/输出模型

9.1.3任务执行模型

9.2多级并行任务集合

9.3 Scioto + GA编程接口

9.3.1核心编程结构

9.3.2实现一个Scioto任务

9.3.3示例:矩阵-矩阵乘法

9.4 Scioto运行时系统

9.4.1共享任务队列方法

9.4.2动态负载均衡方法

9.4.3终止检测

9.5总结

第10章Swift:极端规模的隐式并行脚本

10.1第一个示例:并行因式分解

10.2一个真实的示例:晶体坐标转换

10.3 Swift发展历史

10.4 Swift语言和编程模型

10.4.1 Hello World示例

10.4.2变量和标量数据类型

10.4.3数据流执行

10.4.4条件判断语句

10.4.5数据依赖控制流

10.4.6 foreach循环和数组

10.4.7 Swift函数

10.4.8外部函数

10.4.9文件和app函数

10.5 Swift执行模型

10.6大规模并行运行时系统

10.7运行时架构

10.8性能分析

10.9 Swift的大规模并行编译

10.10相关工作

10.11总结

第11章 并发集合编程模型

11.1引言

11.2研究动机

11.3 CnC领域语言

11.3.1概述

11.3.2特征

11.3.3示例

11.3.4执行语义

11.3.5 CnC编程

11.3.6未来工作

11.4 CnC调优语言

11.4.1描述

11.4.2特征

11.4.3示例

11.4.4执行模型

11.4.5未来工作

11.5当前状态

11.6相关工作

11.7总结

第12章OpenMP

12.1引言

12.2概述

12.2.1术语

12.2.2管理数据环境

12.2.3 OpenMP概念简述

12.3 OpenMP特性

12.3.1并行区域

12.3.2同步

12.3.3工作共享

12.3.4任务并行化

12.3.5向量化

12.3.6加速器支持

12.3.7区域取消

12.4性能优化建议

12.5关于正确性的思考

12.6总结与未来方向

第13章Cilk Plus

13.1引言

13.2向量并行化

13.2.1数组标注

13.2.2 pragma SIMD

13.2.3支持SIMD的函数

13.3线程并行

13.4并行性能

13.5数据竞争

13.6实践技巧

13.7历史

13.8总结

第14章IntelTBB工具

14.1引言

14.1.1概述

14.1.2基本信息

14.2泛型并行算法

14.2.1简单循环的并行化

14.2.2在STL容器中处理数据

14.2.3复杂迭代空间

14.2.4其他算法

14.3流图

14.3.1概述

14.3.2节点通信协议

14.3.3控制依赖图

14.3.4数据流图

14.3.5流图、算法和无环图的选择

14.4总结

第15章C U DA

15.1 CUDA简史

15.2 CUDA编程结构

15.3示例:向量加法

15.4设备内存和数据传输

15.5 kernel函数与线程

15.6线程组织

15.7线程和多维数据的映射

15.8同步与透明可扩展性

15.9线程块的资源分配

15.10 CUDA流与任务并行

15.11总结

第16章OpenCL开放计算语言

16.1计算语言与OpenCL

16.2基本定义

16.3计算机、编程和异构

16.4 OpenCL的诞生

16.5 OpenCL的核心模型

16.5.1平台模型

16.5.2执行模型

16.5.3内存模型

16.5.4编程模型

16.6 OpenCL主机程序:向量加法

16.7总结

参考文献


书查询(www.shuchaxun.com)本网页唯一编码:
bde9a1f32fd0cb628a29a7dd26e57994#7c782b2d19dd3f70a15301e60211c159#66341407#14262186_并行计算的编程模型.pdf