并行计算相关资料收集(持续更新中)

该篇博客主要介绍了MPI(Message Passing Interface)的下载链接,并推荐了几本关于并行计算的重要书籍,包括《并行计算——结构·算法·编程》、《高性能并行计算》以及Uzi Vishkin的《Thinking in Parallel》等,适合对并行计算感兴趣的读者深入学习。

一、环境配置及相关平台

1.MPI:https://www.mpich.org/downloads/

 

二、相关书籍及参考资料

1.并行计算——结构·算法·编程.陈国良.2003

2.高性能并行计算.迟学斌.2005

3.Thinking in Parallel:Some Basic Data-Parallel Algorithms and Techniques.Uzi Vishkin.2010

4.Parallel Programming.Barry Wilkinson Michael Allen.2005

并行计算或称平行计算是相对于串行计算来说的;所谓并行计算可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算科学中主要研究的是空间上的并行问题。 空间上的并行导致了两类并行机的产生,按照Flynn的说法分为:单指令流多数据流(SIMD)和多指令流多数据流(MIMD)。我们常用的串行机也叫做单指令流单数据流(SISD)。MIMD类的机器又可分为以下常见的五类:并行向量处理机(PVP),对称多处理机(SMP),大规模并行处理机(MPP), 工作站机群(COW),分布式共享存储处理机(DSM)。 单指令流多数据流:英文SIMD就是指Single Instruction Multiple Data, 它用一个控制器来控制多个处理器,同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作来实现空间上的并行性——在微处理器中实现的SIMD则是一个控制器控制多个平行的处理微元,例如Intel的MMX或SSE,以及AMD的3D Now!技术。 多指令流多数据流:多指令流多数据流的英文是"Multiple Instruction Stream Multiple Data Stream",它使用多个控制器来异步地控制多个处理器,从而实现空间上的并行性。 并行处理机pvp: 并行向量处理机最大的特点是系统中的CPU是专门定制的向量处理器(VP)。系统还提供共享存储器以及与VP相连的高速交叉开关。 对称多处理机(SMP): 对称多处理机(Symmetric Multiprocessor)最主要的特征是系统的对称性,即每个处理器可以以同等代价访问各个共享存储器。显然,SMP的访存模型一定是均匀访存模型(UMA)的。 kkkk优点是并行度很高,但是由于系统总线的带宽是有限的,故处理器的数目是受限的。 大规模并行处理机(MPP): 大规模并行处理机(Massively Parallel Processor)中,每一个节点由商品(微处理器),局部存储器(分布式存储器)及网络接口电路构成;节点间以定制的高速网络互联。MPP是一种异步的MIMD,因为它的程序有多个进程,它们分布在各个微处理器上,每个进程有自己独立的地址空间,进程之间以消息传递进行相互通信。 工作站机群(COW): 工作站机群每一个节点都是一个完整的工作站,特别地,大规模并行处理机(MPP)可以近似的看成为一个没有本地磁盘的COW。COW的网络接口是松耦合的,即它是接到I/O总线上而不是像MPP那样直接接到处理器存储总线上的。
"高性能并行计算"课程讲义 第一部分并行计算基础 第一章预备知识 1.1 并行计算的目标和内容. . . . . . . . . . . . . . . . . . 5 1.2 并行计算机发展历程. . . . . . . . . . . . . . . . . . . 6 1.2.1 计算机系统发展简史. . . . . . . . . . . . . . . . . . 6 1.2.2 并行计算机发展简述. . . . . . . . . . . . . . . . . . 7 1.3 目前世界高性能计算机的状况. . . . . . . . . . . . . . . 9 1.4 可扩展的并行计算机体系结构. . . . . . . . . . . . . . . 11 1.4.1 对称多处理机系统. . . . . . . . . . . . . . . . . . . 11 1.4.2 分布共享存储处理机系统. . . . . . . . . . . . . . . . 13 1.4.3 大规模并行计算机系统. . . . . . . . . . . . . . . . . 14 1.4.4 机群系统. . . . . . . . . . . . . . . . . . . . . . . 15 1.5 国内外超级计算中心状况. . . . . . . . . . . . . . . . . 16 1.5.1 美国超级计算中心简介. . . . . . . . . . . . . . . . . 16 1.5.2 中国大陆超级计算中心简介. . . . . . . . . . . . . . . 17 第二章基础并行算法 2.1 并行计算基本概念. . . . . . . . . . . . . . . . . . . . 21 2.2 并行算法设计基本原则. . . . . . . . . . . . . . . . . . 22 2.3 区域分解方法. . . . . . . . . . . . . . . . . . . . . . 23 2.4 功能分解方法. . . . . . . . . . . . . . . . . . . . . . 24 2.5 流水线技术. . . . . . . . . . . . . . . . . . . . . . . 25 2.6 分而治之方法. . . . . . . . . . . . . . . . . . . . . . 27 2.7 同步并行算法. . . . . . . . . . . . . . . . . . . . . . 27 2.8 异步并行算法. . . . . . . . . . . . . . . . . . . . . . 28 2.9 作业. . . . . . . . . . . . . . . . . . . . . . . . . . 28 第二部分并行算法设计与实现 第三章矩阵并行计算 3.1 并行矩阵乘法. . . . . . . . . . . . . . . . . . . . . . 32 3.1.1 串行矩阵乘法. . . . . . . . . . . . . . . . . . . . . 32 3.1.2 行列划分算法. . . . . . . . . . . . . . . . . . . . . 33 3.1.3 行行划分算法. . . . . . . . . . . . . . . . . . . . . 33 3.1.4 列列划分算法. . . . . . . . . . . . . . . . . . . . . 34 3.1.5 列行划分算法. . . . . . . . . . . . . . . . . . . . . 35 3.1.6 Cannon 算法. . . . . . . . . . . . . . . . . . . . . .35 3.2 线性代数方程组并行求解方法. . . . . . . . . . . . . . . 36 3.2.1 分布式系统的并行LU 分解算法. . . . . . . . . . . . . .37 3.2.2 三角方程组的并行解法. . . . . . . . . . . . . . . . . 38 3.3 对称正定线性方程组的并行解法. . . . . . . . . . . . . . 41 3.3.1 Cholesky 分解列格式的并行计算. . . . . . . . . . . . .41 3.3.2 双曲变换Cholesky 分解. . . . . . . . . . . . . . . . .42 3.3.3 修正的双曲变换Cholesky 分解. . . . . . . . . . . . . .44 3.4 三对角方程组的并行解法. . . . . . . . . . . . . . . . ..46 3.5 经典迭代算法的并行化. . . . . . . . . . . . . . . . . . 47 3.5.1 Jacobi 迭代法. . . . . . . . . . . . . . . . . . . . .47 3.5.2 Gauss-Seidel 迭代法. . . . . . . . . . . . . . . . . .48 3.6 异步并行迭代法. . . . . . . . . . . . . . . . . . . . . 49 3.6.1 异步并行迭代法基础. . . . . . . . . . . . . . . . . . 49 3.6.2 线性迭代的一般收敛性结果. . . . . . . . . . . . . . . 50 3.7 代数特征值问题的并行求解. . . . . . . . . . . . . . . . 51 3.7.1 对称三对角矩阵特征值问题. . . . . . . . . . . . . . . 51 3.7.2 Householder 变换. . . . . . . . . . . . . . . . . . . 52 3.7.3 化对称矩阵为三对角矩阵. . . . . . . . . . . . . . . . 53 3.8 作业. . . . . . . . . . . . . . . . . . . . . . . . . . 53 第三部分并行实现 第四章并行程序设计 4.1 并行编程模式的主要类型. . . . . . . . . . . . . . . . . 57 4.2 并行程序的基本特点. . . . . . . . . . . . . . . . . . . 57 4.3 并行程序的实现技术. . . . . . . . . . . . . . . . . . . 57 第五章消息传递编程接口MPI 5.1 MPI 简介. . . . . . . . . . . . . . . . . . . . . . . . 59 5.2 MPI 程序实例. . . . . . . . . . . . . . . . . . . . . . 59 第六章MPI 并行环境管理函数. . . . . . . . . . . . . . . . . 63 第七章MPI 进程控制函数 7.1 MPI 进程组操作函数. . . . . . . . . . . . . . . . . . . 65 7.2 MPI 通信子操作. . . . . . . . . . . . . . . . . . . . . 68 第八章MPI 点到点通信函数 8.1 阻塞式通信函数. . . . . . . . . . . . . . . . . . . . . 71 8.2 非阻塞式通信函数. . . . . . . . . . . . . . . . . . . . 77 8.3 特殊的点到点通信函数. . . . . . . . . . . . . . . . . . 82 8.4 MPI 的通信模式. . . . . . . . . . . . . . . . . . . . . 84 第九章MPI 用户自定义的数据类型与打包 9.1 用户定义的数据类型. . . . . . . . . . . . . . . . . . . 87 9.2 MPI 的数据打包与拆包. . . . . . . . . . . . . . . . . . 93 第十章MPI 聚合通信 10.1 障碍同步. . . . . . . . . . . . . . . . . . . . . . . .97 10.2 单点与多点通信函数. . . . . . . . . . . . . . . . . .. 99 10.3 多点与多点通信函数. . . . . . . . . . . . . . . . . . .103 第十一章MPI全局归约操作. . . . . . . . . . . . . . . . . . 107 第十二章HPL程序实例剖析. . . . . . . . . . . . . . . . . . 117 参考文献. . . . . . . . . . . . . . . . . . . . . . . . . .119 附录一并行程序开发工具与高性能程序库. . . . . . . . . . . .121 A.1 BLAS、LAPACK、ScaLAPACK .. . . . . . . . . . . . . . . .121 A.2 FFTW . . . . . . . . . . . . . . . . . . . . . . . . . .121 A.3 PETSc . . . . . . . . . . . . . . . . . . . . . . . . . 121 附录二MPI函数reference. . . . . . . . . . . . . . . . . . . 123 索引. . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值