.NET 支持 MPI

  • Jonathan Allen
  • 韩锴

2008 年 1 月 24 日

话题:.NET语言 & 开发架构

MPI,即消息传递接口(Message Passing Interface),是分布式编程的标准,可以用于超级计算机。FORTRAN、C 和 C++ 中都可以找到它的实现。如今,有若干个项目在致力于将 MPI 的强大功能带入.NET。今天我们看一看其中的两个。

第一个是Pure Mpi.NET。它完全是由托管代码编写的,在很大程度上倾向于 Windows Communication Foundation。而且它调整了 API,以便更好地匹配.NET 框架的编写风格,这让人心存疑虑,Pure Mpi.NET 实现了全部的 MPI 了么?

Pure Mpi.NET 还有另一个缺点;它的协议授权限制很大。其协议只授予非营利组织,比如学校和个人,而不允许营利性公司使用。

另一个是MPI.NET。它是一个基于Boost.MPI的开源项目。尽管现在还处于技术预展阶段,但是 API 已经很好地文档化了。除了成熟度没有达到产品级外,MPI.NET 还依赖于 Microsoft 的 MPI 实现——MS-MPI。这意味着使用 MPI.NET 的系统必须运行在Microsoft Compute Cluster Server 2003上,其价格是每台服务器 469USD。

鉴于.NET 平台对 MPI 支持的窘境,每个人都会不禁地发出疑问,.NET 在分布式编程领域内追赶 FORTRAN 这些语言的道路上,为什么会花了这么久呢?

查看英文原文:MPI for .NET

.NET语言 & 开发架构