mpi4py用于并行计算

目录

问题描述

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.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值