17、《pupyMPI - 纯Python实现的MPI》

《pupyMPI - 纯Python实现的MPI》

1. 引言

消息传递接口(MPI)是一种广泛用于表达并行性的模型。它的成功得益于其可移植性、完整性和高性能,作为标准,MPI极大地提高了高性能计算(HPC)应用程序的可移植性。然而,MPI通常被认为编程难度较大,这对于许多并非专业程序员的潜在用户(如研究人员)来说是个问题,因为他们可能不擅长在确定性逻辑框架中高效表达算法。

传统上,HPC应用程序使用C/C++或Fortran编写,这些静态类型、编译型的低级语言具有出色的性能。近年来,像MATLAB和Python这样的高级解释型语言越来越受欢迎。Python通过与C和Fortran混合使用,并借助合适的库和数据结构,在科学计算(包括消息传递)方面已能达到与纯C相当的性能。随着NumPy和SciPy等科学计算库的不断成熟,Python现在常被用于处理计算密集型任务。

2. Python中的MPI
  1. 现有方案 :一些项目利用Python包装C代码相对容易的特点,提供了与现有MPI实现(如Open MPI或MPICH)的绑定。这种方式的优点是通信层性能有保障,且能复用大量MPI内部功能。但缺点也很明显,绑定需要与特定的MPI实现兼容并随其变化,系统管理员需要维护C MPI库及其依赖,且Python绑定需要编译和链接MPI库,导致可移植性较差。
  2. pupyMPI优势 :创建Python版MPI的一个重要原因是拥有“Python风格”的API,即从用户角度移除数据类型信息。pupyMPI是纯Python实现的MPI 1.3规范的大量子集。与仅在C实现的MPI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值