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
评论