图书介绍

并行计算 结构·算法·编程 第3版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

并行计算 结构·算法·编程 第3版
  • 陈国良编著 著
  • 出版社: 高等教育出版社=HIGHER;EDUCATION;PRESS
  • ISBN:9787040337426
  • 出版时间:2011
  • 标注页数:573页
  • 文件大小:30MB
  • 文件页数:595页
  • 主题词:并行算法-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

并行计算 结构·算法·编程 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇 并行计算硬件平台:并行计算机3

第一章 并行计算与并行计算机结构模型3

1.1 计算与计算机科学4

1.1.1 科学发现的第三支柱:计算科学4

1.1.2 计算科学与计算机科学5

1.2 单处理机与指令级并行6

1.2.1 加快CPU执行速度6

1.2.2 减少存储延迟7

1.2.3 改善输入和输出以及网络性能8

1.3 多核处理器与线程级并行9

1.3.1 单核处理器结构设计9

1.3.2 多核处理器结构设计10

1.3.3 多核处理器实例11

1.4 并行计算机体系结构13

1.4.1 并行计算机结构模型13

1.4.2 并行计算机访存模型17

1.4.3 并行计算机存储组织21

1.5 并行计算概述25

1.5.1 关于并行计算25

1.5.2 并行计算研究现状28

1.6 小结和导读32

习题34

第二章 并行计算机系统互连与基本通信操作36

2.1 并行计算机互连网络37

2.1.1 系统互连37

2.1.2 静态互连网络38

2.1.3 动态互连网络43

2.1.4 标准互连网络46

2.2 选路方法与开关技术52

2.2.1 选路方法52

2.2.2 开关技术54

2.3 单一信包一到一传输56

2.4 一到多播送56

2.4.1 使用SF进行一到多播送57

2.4.2 使用CT进行一到多播送58

2.5 多到多播送59

2.5.1 使用SF进行多到多播送59

2.5.2 使用CT进行多到多播送62

2.6 小结和导读62

习题65

第三章 典型并行计算机系统介绍72

3.1 共享存储多处理机系统73

3.1.1 对称多处理机SMP结构特性73

3.1.2 SGI Challenge系统74

3.2 分布存储多计算机系统77

3.2.1 大规模并行处理机MPP结构特性77

3.2.2 ASCI Option Red MPP系统82

3.3 分布共享存储计算机系统86

3.3.1 分布共享存储计算机系统特性87

3.3.2 SGI Origin 2000系统90

3.4 机群系统96

3.4.1 大规模并行处理系统MPP机群SP296

3.4.2 工作站机群COW103

3.4.3 Berkeley的NOW计划107

3.5 小结和导读112

习题114

第四章 并行计算性能评测117

4.1 并行计算机的一些基本性能指标118

4.1.1 CPU和存储器的某些基本性能指标118

4.1.2 通信开销120

4.1.3 机器的成本、价格与性能价格比121

4.2 加速比性能定律123

4.2.1 Amdahl定律123

4.2.2 Gustafson定律125

4.2.3 Sun和Ni定律125

4.2.4 有关加速的讨论127

4.3 可扩放性评测标准128

4.3.1 并行计算的可扩放性128

4.3.2 等效率度量标准129

4.3.3 等速度度量标准130

4.3.4 平均延迟度量标准132

4.3.5 有关可扩放性标准的讨论133

4.4 基准测试程序134

4.4.1 基本的测试程序135

4.4.2 数学库测试程序136

4.4.3 并行测试程序137

4.5 小结和导读138

习题139

第二篇 并行计算理论基础:并行算法(上)——并行算法设计145

第五章 并行算法与并行计算模型145

5.1 并行算法的基础知识146

5.1.1 并行算法的定义和分类146

5.1.2 并行算法的表达147

5.1.3 并行算法的复杂性度量147

5.1.4 并行算法中的同步与通信149

5.2 并行计算模型150

5.2.1 PRAM模型151

5.2.2 异步PRAM模型152

5.2.3 BSP模型153

5.2.4 LogP模型155

5.2.5 对BSP和LogP的评注158

5.2.6 层次存储模型160

5.2.7 分层并行计算模型163

5.3 小结和导读167

习题168

第六章 并行算法基本设计策略173

6.1 串行算法的直接并行化174

6.1.1 设计策略描述174

6.1.2 快排序算法的并行化174

6.2 从问题描述开始设计并行算法177

6.2.1 串匹配算法177

6.2.2 KMP串行串匹配算法178

6.2.3 并行串匹配算法的设计思路180

6.3 借用已有算法求解新问题181

6.3.1 设计策略描述182

6.3.2 利用矩阵乘法求所有点对间最短路径182

6.4 小结和导读185

习题186

第七章 并行算法常用设计技术189

7.1 划分设计技术190

7.1.1 均匀划分技术190

7.1.2 方根划分技术191

7.1.3 对数划分技术192

7.1.4 功能划分技术193

7.2 分治设计技术194

7.2.1 双调归并网络195

7.2.2 凸壳问题196

7.3 平衡树设计技术198

7.3.1 求取最大值198

7.3.2 计算前缀和199

7.4 倍增设计技术200

7.4.1 表序问题的计算200

7.4.2 求森林的根201

7.5 流水线设计技术203

7.5.1 一维脉动阵列上的DFT计算203

7.5.2 一维脉动阵列上的卷积计算204

7.6 小结和导读205

习题207

第八章 并行算法一般设计过程209

8.1 PCAM设计方法学210

8.2 划分211

8.2.1 域分解211

8.2.2 功能分解212

8.2.3 划分判据212

8.3 通信213

8.3.1 局部通信213

8.3.2 全局通信214

8.3.3 非结构化、动态和异步通信215

8.3.4 通信判据216

8.4 组合216

8.4.1 增加粒度217

8.4.2 保持灵活性和减少软件工程成本219

8.4.3 组合判据219

8.5 映射220

8.5.1 负载平衡算法221

8.5.2 任务调度算法222

8.5.3 映射判据223

8.6 小结和导读223

习题224

第二篇 并行计算理论基础:并行算法(下)——并行数值算法229

第九章 稠密矩阵运算229

9.1 矩阵的划分230

9.1.1 带状划分230

9.1.2 棋盘划分231

9.2 矩阵转置231

9.2.1 棋盘划分的矩阵转置232

9.2.2 带状划分的矩阵转置235

9.3 矩阵-向量乘法236

9.3.1 带状划分的矩阵-向量乘法236

9.3.2 棋盘划分的矩阵-向量乘法237

9.4 矩阵乘法239

9.4.1 简单并行分块乘法240

9.4.2 Cannon乘法241

9.4.3 Fox乘法244

9.4.4 DNS乘法246

9.5 小结和导读250

习题251

第十章 线性方程组求解254

10.1 三角形方程组的求解255

10.1.1 基本术语255

10.1.2 上三角方程组的求解256

10.2 三对角方程组的求解258

10.2.1 三对角方程组直接求解法258

10.2.2 三对角方程组奇偶归约求解法260

10.3 稠密线性方程组的求解262

10.3.1 有回代的高斯消去法262

10.3.2 无回代的高斯-约旦法266

10.3.3 迭代求解的高斯-赛德尔法268

10.4 稀疏线性方程组的求解270

10.4.1 稀疏矩阵的存储方式270

10.4.2 雅可比迭代法272

10.4.3 高斯-赛德尔迭代法278

10.4.4 超松弛迭代法279

10.4.5 多重网格法280

10.4.6 共轭梯度法281

10.5 小结和导读286

习题287

第十一章 快速傅里叶变换289

11.1 离散傅氏变换290

11.1.1 预备知识290

11.1.2 离散傅里叶变换291

11.1.3 离散傅里叶逆变换292

11.1.4 离散傅氏变换的蝶式计算292

11.2 快速傅氏变换串行算法295

11.2.1 串行FFT迭代算法295

11.2.2 串行FFT递归算法296

11.3 并行FFT算法298

11.3.1 SIMD-MC2上FFT算法299

11.3.2 SIMD-BF上FFT算法301

11.3.3 SIMD-CC上FFT算法303

11.3.4 MIMD-DM上FFT算法304

11.4 小结和导读308

习题309

第十二章 数值计算的基本支撑技术311

12.1 网格生成312

12.1.1 网格生成过程与方法312

12.1.2 并行网格生成315

12.1.3 网格生成有关软件和网址316

12.2 图的划分317

12.2.1 负载平衡与图的划分318

12.2.2 图划分算法318

12.2.3 多约束图划分问题及算法321

12.3 稀疏线性系统求解器322

12.3.1 稀疏矩阵的来源和结构322

12.3.2 稀疏线性系统直接方法323

12.3.3 稀疏线性系统迭代方法324

12.3.4 预条件子326

12.3.5 稀疏线性代数库328

12.4 算法和软件329

12.4.1 算法和软件的可重用329

12.4.2 算法和软件的可移植331

12.4.3 算法和软件的可扩放332

12.5 科学计算可视化334

12.5.1 科学计算可视化的基本概念334

12.5.2 并行科学计算可视化336

12.6 小结和导读338

习题340

第三篇 并行计算软件支撑:并行编程345

第十三章 并行程序设计基础345

13.1 并行程序设计概述346

13.1.1 串行程序设计与并行程序设计346

13.1.2 并行程序设计环境与工具348

13.1.3 并行程序设计方法348

13.1.4 并行编程风范350

13.2 进程和线程351

13.2.1 进程和线程的基本概念351

13.2.2 进程和线程的并行执行353

13.3 同步和通信355

13.3.1 同步355

13.3.2 通信358

13.4 单核多线程与多核多线程359

13.4.1 单处理器核上并发程序设计359

13.4.2 多执行核上并行程序设计361

13.5 影响多线程性能的常见问题362

13.5.1 线程过多362

13.5.2 数据竞争364

13.5.3 死锁365

13.5.4 Cache伪共享366

13.6 并行程序设计模型367

13.6.1 计算π样本程序367

13.6.2 隐式并行模型369

13.6.3 数据并行模型370

13.6.4 消息传递模型371

13.6.5 共享变量模型372

13.6.6 并行程序设计模型比较374

13.7 小结和导读375

习题375

第十四章 共享存储系统并行编程378

14.1 基于共享变量的共享存储并行编程379

14.1.1 共享存储并行编程的基本问题379

14.1.2 共享存储编程环境380

14.2 POSIX线程380

14.2.1 POSIX线程模型381

14.2.2 使用Pthreads编写计算π的程序实例382

14.3 OpenMP并行编程384

14.3.1 OpenMP概述384

14.3.2 OpenMP编程风格385

14.3.3 共享任务结构389

14.3.4 OpenMP其他编程要素393

14.3.5 OpenMP计算实例398

14.4 小结和导读401

习题401

附录 OpenMP运行库例程404

第十五章 分布存储系统并行编程406

15.1 基于消息传递的并行编程407

15.1.1 SPMD并行程序407

15.1.2 MPMD并行程序408

15.2 MPI并行编程409

15.2.1 MPI概述410

15.2.2 最基本的MPI411

15.2.3 MPI消息413

15.2.4 点对点通信418

15.2.5 群集通信420

15.2.6 计算π的MPI程序425

15.3 基于数据并行的并行编程425

15.3.1 数据并行模型的特点426

15.3.2 数据并行编程的基本问题426

15.4 HPF并行编程427

15.4.1 HPF概述427

15.4.2 HPF编程简介428

15.4.3 数据映射432

15.4.4 数据并行结构435

15.4.5 HPF语言的过程438

15.4.6 高斯消去法的HPF程序440

15.5 小结和导读440

习题441

附录一 MPI函数的C语言说明447

附录二 MPI函数的FORTRAN语言说明449

第十六章 并行程序设计环境与工具452

16.1 软件工具与环境453

16.1.1 编码工具与软件工程工具453

16.1.2 集成工具与环境454

16.2 并行编译器456

16.2.1 编译及其并行化457

16.2.2 相关分析459

16.2.3 代码优化461

16.2.4 代码生成466

16.3 并行程序调试467

16.3.1 并行程序调试的方法与步骤467

16.3.2 并行程序的调试技术469

16.4 并行程序性能分析470

16.4.1 并行程序的性能预测470

16.4.2 并行程序的性能监控472

16.4.3 并行程序性能分析工具474

16.4.4 并行程序的性能可视化475

16.5 图形化并行程序集成开发环境477

16.5.1 图形应用开发环境GRADE的组成477

16.5.2 GRADE中开发并行程序过程478

16.5.3 基于模式的可视化并行编程环境CO2P3S479

16.6 小结和导读480

习题481

附录篇 并行计算发展动力:并行应用487

附录A 并行应用相关知识487

A.1 应用需求487

A.2 应用领域488

A.3 应用实例489

A.4 应用须知490

附录B 应用综合练习:大气模型的并行算法设计492

B.1 背景知识492

B.2 设计分析493

附录C 数值计算软件包和工具495

C.1 高性能程序库495

C.1.1 BLAS库495

C.1.2 LAPACK库497

C.1.3 ScaLAPACK库498

C.2 软件包和工具500

C.2.1 PETSc500

C.2.2 FFTW501

C.2.3 HPSEPS503

C.2.4 Hypre504

C.2.5 MUMPS505

C.2.6 ParMETIS506

C.2.7 Trilions507

C.2.8 TAO509

C.2.9 SUNDIALS511

C.2.10 SLEPC512

附录D 应用实例一:机群系统上三维傅里叶变换515

D.1 问题背景515

D.2 机群系统516

D.3 三维傅里叶变换一般并行算法517

D.4 改进的三维傅里叶变换并行算法519

D.5 应用实例520

D.6 编程实现521

D.7 实验比较523

附录E 应用实例二:多核系统上并行图像特征提取525

E.1 问题背景525

E.2 多核平台527

E.3 图像特征提取的并行算法528

E.4 编程实现530

E.5 实验比较533

附录F 应用实例三:个人高性能计算机上水平井射孔渗流计算535

F.1 问题背景535

F.2 并行计算方法536

F.3 并行编程概述538

F.4 KD-50-I平台540

F.5 应用结果541

索引544

算法索引544

表格索引546

示范程序索引547

专业术语索引548

参考文献561

热门推荐