知识关于MPI三个不同侧面的定义
对MPI的定义是多种多样的,但不外乎下面三个方面,它们限定了MPI的内涵和外延。
MPI是一个库,而不是一门语言。

许多人认为MPI就是一种并行语言,这是不准确的。但是按照并行语言的分类,可以把FORTRAN+MPI或C+MPI,看作是一种在原来串行语言基础之上扩展后得到的并行语言。MPI库可以被FORTRAN77/C/Fortran90/C++调用,从语法上说,它遵守所有对库函数/过程的调用规则,和一般的函数/过程没有什么区别。
- MPI是一种标准或规范的代表,而不特指某一个对它的具体实现。
迄今为止,所有的并行计算机制造商都提供对MPI的支持,可以在网上免费得到MPI在不同并行计算机上的实现,一个正确的MPI程序,可以不加修改地在所有的并行机上运行。

MPI是一种消息传递编程模型,并成为这种编程模型的代表和事实上的标准。MPI虽然很庞大,但是它的最终目的是服务于进程间通信这一目标的。
关于什么是MPI的问题设计到多个不同的方面。当我们提到MPI时,不同的上下文中会有不同的含义,它可以是一种编程模型,也可以是一种标准,当然也可以指一类库。只要全面把握了MPI的概念,这些区别是不难理解的。
对MPI的把握需要多方面,多角度,如果仅仅局限在一个侧面,就会失之偏颇。

MPI程序的执行