本书是并行计算,特别是分布式并行计算环境和消息传递并行
编程的入门教材,目的是促进并行计算技术在我国的应用。书中介
绍了并行计算的基础知识、Linux/UNIX 的基本使用、基于Linux 机
群的并行计算平台的建立、并行算法的设计和MPI 消息传递并行编
程的基本概念与方法。书中还提供了一批典型科学计算问题的并行
算法与程序设计实例,介绍了一些当前国际上流行的科学计算软件
工具及平台。本书力求从简单入手,循序渐进,读者不需要有太多的
预备知识,在逐步学习使用的过程中学会利用并行计算解决自己学
习和工作中的问题。
本书侧重介绍高性能计算的实用技术,可作为信息技术与计算
专业的专业基础课教材,也可作为其他理工科非计算机专业的并行
计算课程教材。此外,本书还可作为有关Linux 机群建造、MPI 消
息传递并行算法设计与编程及常用高性能科学计算软件的参考书使
用。
### 并行计算导论知识点总结
#### 一、并行计算基础知识
1. **并行计算机的发展历程**:从最早的向量机到现代的分布式内存架构,介绍并行计算机的发展脉络及其特点。
2. **并行计算机体系结构**:讲解共享内存模型与分布式内存模型的区别,并探讨两者的优缺点。
3. **并行计算基本概念**:包括并行度、负载均衡、通信开销等关键术语,帮助理解并行计算的基本原理。
#### 二、Linux/UNIX基础使用
1. **Linux安装与配置**:详细介绍Linux操作系统的安装步骤及基本配置方法。
2. **Linux常用命令**:列举并解释常用的Linux命令,如`ls`、`cd`、`cp`等。
3. **程序开发与调试**:介绍如何在Linux环境下进行程序开发和调试,包括编译器的选择和调试工具的使用。
#### 三、并行计算平台的建立
1. **Linux机群构建**:提供构建基于Linux的机群系统的详细步骤,包括硬件选择、网络配置等方面。
2. **MPI消息传递编程**:介绍MPI(Message Passing Interface)的基本概念,以及如何使用MPI进行并行编程。
3. **MPICH软件**:概述MPICH软件的特点和安装过程,以及如何利用MPICH在局域网内建立并行计算平台。
#### 四、并行算法设计与实现
1. **并行算法设计原则**:探讨设计高效并行算法时需要考虑的因素,如数据划分、任务分配等。
2. **并行算法示例**:通过具体案例分析,如自适应数值积分算法、矩阵计算等,并行算法的设计思路和实现方法。
3. **并行程序性能优化**:讨论并行程序性能评估的方法以及提高性能的具体策略,包括负载均衡、减少通信成本等。
#### 五、高级并行计算主题
1. **快速傅里叶变换(FFT)**:介绍FFT算法及其并行化实现方法,尤其是在消息传递并行环境中的实现细节。
2. **基于区域分解的并行算法**:以二维Poisson方程求解为例,介绍基于区域分解的并行算法设计原理。
3. **基于流水线方法的并行算法**:通过二维热传导方程的求解,探讨基于流水线方法的并行算法设计策略。
#### 六、高性能计算工具与平台
1. **BLAS(Basic Linear Algebra Subprograms)**:介绍基本线性代数子程序集的功能和用途。
2. **LAPACK(Linear Algebra Package)**:探讨LAPACK库在处理密集型线性代数运算中的应用。
3. **ScaLAPACK**:讲解扩展的LAPACK库如何支持大规模并行计算任务。
4. **FFTW(Fastest Fourier Transform in the West)**:了解快速傅里叶变换库FFTW的特点及其在并行环境下的应用。
5. **PETSc(Portable, Extensible Toolkit for Scientific Computation)**:探讨PETSc工具包在科学计算中的角色及其提供的并行计算功能。
#### 七、MPI变量和函数参考
1. **MPI函数列表**:提供一份详细的MPI函数列表,涵盖常见的通信和同步函数。
2. **MPI变量和常量**:介绍MPI中常用的变量和常量定义,如进程标识符、通信标签等。
#### 八、习题与实践
1. **理论习题**:包含对理论知识点的巩固练习题,帮助加深理解。
2. **实践项目**:提出一系列实际项目题目,鼓励读者运用所学知识解决实际问题。
本教材旨在为信息技术与计算专业的学生以及其他理工科领域的非计算机专业学生提供并行计算的入门指导,同时也适合相关领域的研究人员和工程师作为参考书籍使用。通过本书的学习,读者将能够掌握并行计算的基本原理和技术,并学会利用并行计算解决实际问题。
- 1
- 2
- 3
- 4
- 5
- 6
前往页