目录

问题描述

MPI简介

参考资料

英文版资料

中文版资料


问题描述

今天看代码,看到了大量关于mpi4py的内容,感觉十分摸不着头脑,遂去查资料,下面将查到的不错的资料的链接放在下面,供之后使用时参考。

MPI简介

以python为例,多线程由于GIL的存在,所以有multiprocessing来缓解;但它不能面向多个计算节点编程,所以MPI来了。当面向多个计算节点编程时,程序的各部分之间通过来回传递消息的方式通信。要使得消息传递方式可移植,就需要采用标准的消息传递库。这就促成消息传递接口(Message Passing Interface, MPI)的面世,MPI是一种被广泛采用的消息传递标准,所以MPI并不是一种语言。

在程序中,不同的进程需要相互的数据交换,特别是在科学计算中,需要大规模的计算与数据交换,集群可以很好解决单节点计算力不足的问题,但在集群中大规模的数据交换是很耗费时间的,因此需要一种在多节点的情况下能快速进行数据交流的标准,这就是MPI。所以MPI是一组用于多节点数据通信的标准,而非一种语言或者接口。具体的使用方法需要依赖它的具体实现(mpich or openmpi等)。对于 python 的 MPI 标准而言,可以使用 mpi4py 这个库。实现了点到点通信和集群通信等功能。

MPI官方文档地址:MPI for Python — MPI for Python 3.1.4 documentation

参考资料

资料分为中文版和英文版,据中文版作者说是在英文版的基础上加入了自己的一些理解,可根据自身英文水平自行选择语言种类进行阅读。

英文版资料

Parallel programming in Python: mpi4py (part 1) – PDC Blog

Parallel programming in Python: mpi4py (part 2) – PDC Blog

中文版资料

MPI基础,以 mpi4py 为例(操作系统番外篇) | Just for Life.

mpi4py用于并行计算相关推荐

  1. 并行计算(一)——初步认识

    并行计算模型 本定命名空间和私有的内存空间,主要采用 C/C++/Fortran 和 MPI . 全局命名空间和共享的内存空间,主要采用 C/C++/Fortran 和 OpenMP . Flynn ...

  2. R语言中的并行计算实现

    并行计算有显性并行和隐式并行, 隐式并行:OpenBLAS,Intel MKL,NVIDIA cuBLAS,H2O(参考我的博客)等 显性并行:parallel(主打lapply应用).foreach ...

  3. 并行计算系列-阿姆达尔定律(Amdahl‘s Law)

    阿姆达尔定律是一个计算机科学界的经验法则,因IBM公司计算机架构师吉恩·阿姆达尔而得名.吉恩·阿姆达尔在1967年发表的论文中提出了这个重要定律. 阿姆达尔定律主要用于发现仅仅系统的部分得到改进,整体 ...

  4. 如何成为一名异构并行计算工程师

    随着深度学习(人工智能)的火热,异构并行计算越来越受到业界的重视.从开始谈深度学习必谈GPU,到谈深度学习必谈计算力.计算力不但和具体的硬件有关,且和能够发挥硬件能力的人所拥有的水平(即异构并行计算能 ...

  5. 武汉理工大学-并行计算-2020年期末复习指南

    并行计算-2020-复习指南 制作:纪元 本提纲遵循CC-BY-NC-SA协议 (署名-非商业性-相同方式共享) 文章目录 并行计算机系统及其结构模型 存储墙 互联网络 网络性能指标 静态互连网络 动 ...

  6. 【并行计算】Bitonic Sort(双调排序)基础

    双调序列 双调序列(Bitonic Sequence)是指由一个非严格增序列X和非严格减序列Y构成的序列,比如序列(23,10,8,3,5,7,11,78). 定义:一个序列a1,a2,-,an是双调 ...

  7. Windows系统下搭建MPI(并行计算)环境

    Windows系统下搭建MPI环境 MPI的全称是Message Passing Interface即标准消息传递界面,可以用于并行计算.MPI的具体实现一般采用MPICH.下面介绍如何在Window ...

  8. [并行计算]Matlab并行计算工具箱(Parallel Computing Toolbox)官方文档教程中文版(1)

    Arranged By Zhonglihao @ 2018 **请确认Matlab安装时点选了并行计算工具箱 第一章:parfor循环并行计算 parfor循环介绍 parfor循环是Matlab并行 ...

  9. 零基础创建自定义gym环境——以股票市场为例

    零基础创建自定义gym环境--以股票市场为例 翻译自medium上的一篇文章Create custom gym environments from scratch - A stock market e ...

最新文章

  1. Windows安装MRTG后的配置
  2. 使用device.js检测设备并实现不同设备展示不同网页
  3. VC++ VS2010 error LNK1123 转换到 COFF 期间失败 怎么办
  4. RocketMQ的核心概念,一一梳理清楚
  5. linux内核杂记(16)-系统调用(3)
  6. 分布式架构中分布式事务
  7. 代码分析工具python_Python代码分析工具:PyChecker、Pylint
  8. 从简单的信道预计说起
  9. adb过滤只查看某一个app的日志
  10. 【表盘识别】基于matlab投影法电表表盘读数识别【含Matlab源码 1101期】
  11. spring StopWatch用法
  12. C#中利用网口与安捷伦电源进行通信
  13. 共享硬盘没有权限访问计算机,win7系统访问磁盘共享没有权限的解决方法
  14. docker run 报错 Bind for 0.0.0.0:80 failed: port is already allocated.解决方案
  15. PADS如何导入DXF文件
  16. emoji表情 mysql转移,mysql中emoji表情存储
  17. Unity模拟毛笔字效果
  18. python网络渗透入门_利用Python进行Web渗透测试(四):HTTP协议基础
  19. React 源码系列 | React Context 详解
  20. DataFrame的行列转置

热门文章

  1. idea项目重新定位git地址
  2. 使用Fiddler进行Mock测试
  3. 笔记之一:关于.net MVC的分部视图
  4. 飞桨2.0应用案例教程 — 用BERT实现自动写诗
  5. 上海职称评审在线课程的评价
  6. JAVA中变量的存放位置
  7. 【软考笔记】10. 软件工程
  8. Metasploit——客户端渗透
  9. HTML学生个人网站作业设计:电影网站设计——电影售票平台网站(8页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  10. 机器学习--决策树二(预剪枝和后剪枝)