《并行计算机与程序设计》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:刘其成,胡佳男,孙雪姣,毕远伟,童向荣编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2014
  • ISBN:9787113183905
  • 页数:206 页
图书介绍:本书共11章,主要内容包括并行计算概述、并行计算平台、并行算法设计基本原理、并行计算模型、并行计算性能分析模型、Java多线程并行程序设计、Windows多线程并行程序设计、OpenMP多线程并行程序设计、MPI消息传递并行程序设计、GPU并行程序设计、云计算与MapReduce等。

第1章 概述 1

1.1 实例 1

1.1.1 求和 1

1.1.2 泡茶问题 2

1.1.3 图书馆新书上架 2

1.1.4 天气预报 3

1.1.5 美国HPCC计划 3

1.1.6 教务管理系统 3

1.1.7 地球物理石油勘探数据处理系统 4

1.2 并行计算基础知识 5

1.2.1 并行计算的重要性 5

1.2.2 并行计算的定义、并行计算机系统及软件 6

1.2.3 并行计算的应用分类 6

1.2.4 并行设计的方法 7

1.2.5 应用系统的并行性 8

1.2.6 并行计算的研究内容 8

1.3 并行程序设计策略和模型 9

1.3.1 并行程序设计策略 9

1.3.2 并行程序设计模型 9

1.4 相关概念 10

1.4.1 顺序、并发与并行 10

1.4.2 进程和线程 11

1.4.3 一些基本概念 12

第2章 并行计算机基础 14

2.1 并行计算机体系结构 14

2.1.1 结点 15

2.1.2 互联网络 15

2.1.3 并行计算机访存模型 19

2.2 并行计算机的分类 20

2.2.1 并行计算机的控制结构 20

2.2.2 地址空间 21

2.2.3 并行计算机系统结构模型 21

2.3 多核技术 27

2.3.1 多核芯片 27

2.3.2 片上多核处理器体系结构 28

2.3.3 超线程技术 29

2.3.4 基于多核的软件开发 30

2.3.5 虚拟化技术 30

2.4 GPU技术 30

2.4.1 简介 30

2.4.2 GPU与并行计算 31

第3章 并行计算模型 32

3.1 并行计算模型概述 32

3.1.1 串行计算模型与并行计算模型 32

3.1.2 并行计算模型与并行算法 32

3.1.3 并行计算模型与并行系统中其他模型的关系 33

3.2 PRAM模型 33

3.2.1 基本PRAM模型 33

3.2.2 实例 34

3.3 BSP模型 35

3.3.1 BSP模型原理 35

3.3.2 实例 36

3.4 LogP模型 37

3.4.1 LogP模型原理 37

3.4.2 实例 37

3.5 并行计算模型比较 38

3.5.1 PRAM模型和LogP模型的比较 38

3.5.2 BSP模型和LogP模型的比较 38

第4章 并行计算性能评测 39

4.1 基本概念 39

4.1.1 运行时间 39

4.1.2 问题规模 40

4.1.3 额外开销函数 40

4.2 并行系统的性能分析 42

4.2.1 加速比 42

4.2.2 效率 46

4.2.3 开销 47

4.2.4 粒度和数据映射对性能的影响 47

4.2.5 实例 48

4.3 并行系统的可扩展性度量 48

4.3.1 可扩展性 48

4.3.2 度量指标 50

4.3.3 实例 52

第5章 并行算法设计基础 53

5.1 并行算法设计方法 53

5.1.1 基本方法 53

5.1.2 实例 54

5.2 并行算法设计过程 56

5.2.1 PCAM设计方法学 57

5.2.2 划分 57

5.2.3 通信 59

5.2.4 组合 61

5.2.5 映射 63

5.3 并行算法设计技术 64

第6章 OpenMP多线程并行程序设计 66

6.1 OpenMP编程基础 66

6.1.1 OpenMP多线程编程模型 66

6.1.2 OpenMP程序结构 67

6.1.3 使用Microsoft Visual Studio.NET编写OpenMP程序 68

6.2 编译指导语句 70

6.2.1 并行域结构——parallel指令 71

6.2.2 共享任务结构 71

6.2.3 同步结构 78

6.2.4 数据处理子句 83

6.3 运行时库函数 92

6.3.1 基本函数 93

6.3.2 运行时库函数的互斥锁支持 94

6.4 环境变量 95

6.5 实例 96

6.5.1 求和 96

6.5.2 数值积分 101

6.6 OpenMP多线程程序性能分析 106

6.6.1 并行额外开销 106

6.6.2 线程同步带来的开销 108

6.6.3 负载均衡 109

6.6.4 OpenMP中的任务调度 111

第7章 MPI消息传递并行程序设计 119

7.1 MPI消息传递接口 119

7.1.1 简介 119

7.1.2 MPI程序特点 119

7.2 典型MPI实现——MPICH 121

7.2.1 简介 121

7.2.2 MPICH的安装和配置 121

7.3 MPI编程基础 126

7.3.1 简单的MPI程序示例 126

7.3.2 MPI程序的四个基本函数 127

7.3.3 统计时间 127

7.3.4 错误管理 128

7.4 MPI的点对点通信 128

7.4.1 点对点通信的例子 128

7.4.2 MPI_SEND()函数 129

7.4.3 MPI_RECV()函数 129

7.4.4 消息管理七要素 130

7.4.5 非阻塞通信 132

7.5 MPI群集通信 132

7.5.1 一对多群集通信函数 133

7.5.2 多对一群集通信函数 133

7.5.3 多对多群集通信函数 135

7.5.4 同步函数 136

7.6 实例 136

7.6.1 求和 136

7.6.2 数值积分 137

第8章 Windows线程库并行程序设计 140

8.1 Windows线程库 140

8.2 Win32 API多线程程序设计 140

8.2.1 Win32 API线程操作基本函数 140

8.2.2 Win32 API线程间通信函数 145

8.3 MFC线程库 156

8.3.1 MFC线程操作基本函数 156

8.3.2 MFC同步类 157

8.4 .NETFramework线程库 162

8.4.1 .NET线程基本操作 162

8.4.2 .NET线程同步 163

8.5 实例 175

8.5.1 求和 175

8.5.2 数值积分 179

第9章 Java多线程并行程序设计 185

9.1 线程 185

9.1.1 基本概念 185

9.1.2 线程的状态与生命周期 186

9.1.3 线程调度与优先级 186

9.2 Runnable接口与Thread类 187

9.2.1 Runnable接口 187

9.2.2 Thread类 187

9.3 多线程的实现 189

9.3.1 创建Thread类的子类 189

9.3.2 实现Runnable接口 192

9.3.3 两种方法的比较 192

9.4 线程的同步与死锁 195

9.4.1 线程同步 195

9.4.2 线程死锁 198

9.5 实例 199

9.5.1 求和 199

9.5.2 数值积分 201

参考文献 205