MPI讲义 Part1:并行计算的基础

本文介绍了并行计算的概念,包括硬件层面的超级计算机、并行计算单元、内存类型,如共享和分布式内存,以及软件层面的进程、线程、任务,分布式状态和消息传递。重点讨论了并行计算中的同步和共享状态,如OpenMP的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、并行计算
并行计算是一种计算类型,其中许多计算或者过程的执行时同时进行的。
在这里插入图片描述
2、硬件
2.1 超级计算机
在这里插入图片描述
2.2 并行计算单元

  • 隐式并行
    并行执行不同的处理器指令;
    自动发生;
    程序员只能间接影响。
  • Multi-core/Multi-CPU
    计算单元共享相同的内存
  • 集群
    通过交互链接的独立系统
    每个系统有自己的内存
  • 加速器
    比通用CPU更快的速度执行某些任务
    做出不同的权衡
    通常有自己的内存
  • 向量处理器/向量单元
    同时在多个数据块执行相同的操作

2.3 内存

  • 共享内存(shared memory)
    所有内存都可以被并行计算单元直接访问
    有单个内存地址空间
    程序员可能必须同时访问
  • 分布式内存(shared memory)
    内存被划分为不同计算单元专用的部分
    内存的远程部分是通过互连来访问的
    通常访问不一致

3 软件

3.1 进程、线程、任务(processes/threads/tasks)

  • 进程
    通常,多个进程可以共存,每个进程都有自己的相关资源集(内存、文件描述符等)
  • 线程
    通常比进程小
    一个进程通常有多个线程
    同一个进程的线程可以共享资源
  • 任务
    通常比线程小
    一个线程可以有多个任务

3.2 分布式状态和消息传递

  • 分布式状态
    程序状态被划分为不同进程私有的部分
  • 消息传递
    部分程序状态从一个进程转移到另一个进程以进行协调
    基本操作是活动发送与接收
  • MPI
    实施一种分布式状态和消息传递的形式

3.3 共享状态与同步

  • 共享状态
    整个程序状态可以直接被并行线程直接访问
  • 同步synchronization
    线程可以使用公共的负载和存储操作共享状态
  • OpenMP
    实现共享状态与同步
中文版mpi编程手册 写得很详细 都志辉编著 李三立审阅 陈渝刘鹏 校对 本书介绍目前最常见的并行程序—MPI并行程序的设计方法它适合高校三四年级本科 生非计算机专业研究生作为教材和教学自学参考书也适合于广大的并行计算高性能计 算用户作为自学参考书使用对于有FORTRAN和C编程经验的人员都可以阅读并掌握 本书的内容 首先介绍了并行程序设计的基础提供给读者进行并行程序设计所需要的基本知识然 后介绍了MPI的基本功能从简单的例子入手告诉读者MPI程序设计的基本过程和框架 这一部分是具有C或/FORTRAN串行程序设计经验的人员很容易理解和接受的接下来介绍 MPI程序设计的高级特征是已经掌握了MPI基本程序设计的人员进一步编写简洁高效的 MPI程序使用各种高级和复杂的MPI功能所需要的最后一部分介绍了MPI的最新发展和 扩充MPI-2 主要包括三个部分动态进程管理远程存储访问和并行文件读写 本书包括了MPI-1的全部调用和MPI-2的关键扩充部分的调用并附以大量的图表和示 例性程序对程序的关键部分给出了讲解或注释读者若能将例子和对MPI调用的讲解结合 起来学习会取得更好的效果 本书的目的不仅是教给读者如何去编写从简单到复杂的MPI并行程序更重要的是 希望在学习本书之后在读者以后解决问题的过程中能够树立并行求解的概念使并行方 法真正成为广大应用人员和程序开发员手中的重要工具
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值