24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2096  |  回复: 3

fyuewen

金虫 (正式写手)

[交流] 并行计算中MPI,openMPI,openMP的区别已有3人参与

很多新手刚刚接触并行计算的时候会对MPI,openMPI和openMP产生非常大的疑惑,主要源于对这几个概念本身理解的不清晰以及这几个缩写的字母确实是如此的近似。
因此我在这里分别述之供大家交流:
MPI:英文全称是Message Passing Interface,这个就很明了了,信息传递接口,是独立于语言的通信协议(标准),是一个库。
MPI的实现有MPICH,MPI-1,MPI-2等等
openMPI:英文全称是open Message Passing Interface。openMPI是MPI的一种实现,一种库项目。
OpenMP:英文全称是Open Multiprocessing,一种应用程序界面(API,即Application Program Interface),是一种并行的实现和方法,也可以认为是共享存储结构上的一种编程模型,可用于共享内存并行系统的多线程程序设计的一套指导性注释(Compiler Directive)。

在当前的并行机子中,openMP和openMPI都是需要的(从上面的各自概念可以看出),openMP用于本地的并行计算(共享内存内存架构),支持目前所有平台上的c,fortran等的共享内存式并行计算,它相当于是给出了一个让并行编程更加容易实现的模型,而openMPI则是用于机器之间的通信(分布式内存架构)。

限于自身对这几个概念的理解不深,敬请各位批评指正。
也希望能够给初学者一些粗浅的概念。
回复此楼
Physicsloveukulele!Aloha!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
2楼2012-08-02 06:27:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

applejhm

银虫 (小有名气)

非常感谢!
3楼2013-03-20 19:05:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mingriwhu

铁虫 (初入文坛)

4楼2014-01-06 17:11:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fyuewen 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见