» 介绍
在过去的几年里,对于科学界的更多研究人员来说,高性能计算已成为一种负担得起的资源。优质开源软件和商用硬件的结合强烈影响了Beowulf级集群和工作站集群现在的广泛流行。
在许多并行计算模型中,消息传递已被证明是一种有效的模型。这种范式特别适用于(但不限于)分布式内存架构,并用于当今最苛刻的与建模、仿真、设计和信号处理相关的科学和工程应用。然而,便携式消息传递并行编程在过去曾经是一场噩梦,因为开发人员面临着许多不兼容的选项。幸运的是,这种情况在 MPI 论坛发布其标准规范后肯定发生了变化。
高性能计算传统上与使用编译语言的软件开发相关联。然而,在典型的应用程序中,只有一小部分代码是时间关键的,足以要求编译语言的效率。其余代码通常与内存管理、错误处理、输入/输出和用户交互有关,这些通常是整个开发过程中编写和调试最容易出错和最耗时的代码行。解释型高级语言对于此类任务非常有利。
为了实现通用数值计算,MATLAB 1 是主要的解释性编程语言。在开源方面,Octave 和 Scilab 是众所周知的、免费分发的软件包,提供与 MATLAB 语言的兼容性。在这项工作中,我们展示了 MPI for Python,这是一个新的包,它使应用程序能够使用 Python 脚本中的标准 MPI“外观”来利用多个处理器。
什么是 MPI?
MPI,[mpi-using] [mpi-ref]消息传递接口,是一种标准化和可移植的消息传递系统,设计用于在各种并行计算机上运行。该标准定义了库例程的语法和语义,并允许用户使用主要的科学编程语言(Fortran、C 或 C++)编写可移植程序。
自发布以来,MPI 规范[mpi-st