我想知道是否可以使用 MPI.NET + Mono 框架在所有基于 Linux 的 super 计算机节点上运行分布式计算?
我知道 Mono 运行时在集群上可用,并且带有标准库的 Mono 编译程序运行良好。但是 MPI.NET 呢?
还有一个问题,我对 MPI.NET 和 MPIch2 等之间的区别有点困惑。 MPI.NET 是标准 MPIch2 的包装器吗?如果 MPIch2 可用,它可以在 Linux 上运行吗?或者它是 MPIch2 的替代品并且需要安装 MPI.NET 客户端?
如果您有任何基于此的经验,我非常感谢您对此的投入。
谢谢你。
最佳答案
我终于在 MPI.NET 网站上找到了有关此问题的一些问题的答案。我引用:
这取决于平台。尽管 MPI 是一个标准,但在 Windows 上,MPI.NET 编码了一些有关 MS-MPI 中使用的特定数据类型的信息,这些信息将 MPI.NET 直接绑定(bind)到 Microsoft 的 MPI。让 MPI.NET 与其他 MPI 实现一起工作当然是可能的,但我们目前不打算这样做。然而,在 Unix 上,MPI.NET 使自己适应在配置时检测到的 native MPI,并且可以(至少)与 Open MPI、LAM/MPI 和 MPICH2
是的!从 0.6.0 版本开始,MPI.NET 使用各种不同的 native MPI 在 Mono 下工作,包括 Open MPI、LAM/MPI 和 MPICH2。但是请注意,Mono 中的运行时代码生成问题会导致 MPI.NET 在其优化方面更加保守。由于这种更保守的方法以及 Mono JIT 没有像 Microsoft JIT 那样接受那么多调整的事实,我们预计 Mono 上的性能不会那么好。
更多信息请访问:MPI FAQ
另外,这里有一个关于如何在 Ubuntu 下编译 MPI.NET 的链接:Compiling MPI.NET under Ubuntu Oneiric
关于linux - 使用MPI.NET和Mono框架在 super 计算机的linux节点上执行分布式计算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22150736/