MPI Message Passing Interface

本文介绍了MPI(Message Passing Interface)这一并行计算API的基本概念、功能及其应用实例。MPI广泛应用于超级计算机和集群环境中,提供了进程间的通信和同步功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

訊息傳遞介面

维基百科,自由的百科全书
(重定向自 MPI

訊息傳遞介面(MPI- Message Passing Interface)是一個並行計算的API,常在超級電腦電腦叢集等非共享內存環境程序設計。

目录

   [隐藏

[编辑]功能

MPI接口是用来提供必不可少的虚拟拓扑结构,同步和进程间通信功能(已映射到节点/服务器/计算机)以一种和语言无关的方式,通过语言特定的语法(绑定)和一些特定语言功能。通常,MPI的工作对象是进程,也就是程序员指的处理器。

[编辑]特色

大多數訊息傳遞介面的實現為函式庫,亦不需要編譯器支持。

[编辑]例子

由多行程來執行Hello World:

#include <stdio.h>
#include <mpi.h>
 
int main(int argc, char *argv[])
{
 char processor_name[MPI_MAX_PROCESSOR_NAME];
 int len;
 
 MPI_Init(&argc, &argv);
 
 MPI_Get_processor_name(processor_name, &len);
 printf("Hello World from %s\n", processor_name);
 
 MPI_Finalize();
 
 return 0;
}

執行結果:

% mpicc hello.c

% cat nodefile
node1
node2

% mpirun -np 1 -hostfile nodefile a.out (由1節點來執行)
Hello World from node1

% mpirun -np 2 -hostfile nodefile a.out (由2節點來執行)
Hello World from node1
Hello World from node2

[编辑]實現

  • Open MPI - 是自由軟件開放源碼實現。[1] 走鵑(2008年6月-2009年11月TOP500第一快的超級電腦)[2](2011年6月至今第一快的超級電腦)也使用Open MPI。[3] [4]
  • Intel MPI - Intel基於開放源碼的MPICH2 與 MVAPICH2研發成的MPI。 [5]
  • Platform MPI - Platform公司收購Scali MPI 及 HP MPI,研發成Platform MPI。[6]

[编辑]參考資料

  1. ^ Open MPI: Open Source High Performance Computing
  2. ^ Jeff Squyres. Open MPI: 10^15 Flops Can't Be Wrong (PDF). Open MPI [2008-11-22].
  3. ^ Programming on K computer. Fujitsu [2011-06-24].
  4. ^ Open MPI powers 8 petaflops思科系統 [2011-06-24].
  5. ^ Intel MPI Library - Intel Software Network
  6. ^ Platform MPI

[编辑]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值