C++ 将OpenMPI或MPICH与Boost MPI一起使用,同时使用Win和Linux机器

C++ 将OpenMPI或MPICH与Boost MPI一起使用,同时使用Win和Linux机器,c++,openmpi,mpich,boost-mpi,C++,Openmpi,Mpich,Boost Mpi,这几天我正在接近MPI世界。我愿意将boostmpi库与OpenMPI或MPICH一起使用(即使与MPICH一起使用,我也不确定它是否能正常工作,因为我读过一些文章) 我真正的问题是:有了这两个库,再加上Boost MPI,有可能将Linux机器和Windows机器的资源结合起来吗 我还不清楚使用MPI是否意味着能够在具有相同操作系统的远程机器上启动进程。原则上,MPI是一个通信协议之上的消息传递系统,因此在通信时对操作系统没有太多依赖性 您是否了解这个主题,或者您中的一些人已经尝试在Win和L

这几天我正在接近MPI世界。我愿意将boostmpi库与OpenMPI或MPICH一起使用(即使与MPICH一起使用,我也不确定它是否能正常工作,因为我读过一些文章)

我真正的问题是:有了这两个库,再加上Boost MPI,有可能将Linux机器和Windows机器的资源结合起来吗

我还不清楚使用MPI是否意味着能够在具有相同操作系统的远程机器上启动进程。原则上,MPI是一个通信协议之上的消息传递系统,因此在通信时对操作系统没有太多依赖性

您是否了解这个主题,或者您中的一些人已经尝试在Win和Linux机器上使用MPI了

谢谢
EO

我对Boost MPI层了解不多,但在Linux和Windows机器上同时使用MPICH2绝对是可能的。在这种情况下,您必须使用相同的MPICH2“变体”,并且在每种情况下都必须使用“smpd”进程管理器(这是Windows上的唯一选项,但在Linux上不是默认选项)


但是,通常不建议跨具有不同性能特征的机器运行MPI作业,因为应用程序通常会受到最慢处理器的限制。我们还注意到Linux和Windows上的MPICH2之间存在显著的性能差异,因此即使硬件相同,MPI性能也可能不同。

Hi-Edric!谢谢你的信息。我同意你的看法。我曾考虑尝试使用异步调用,但最终与硬件/操作系统不同,从定义上讲,这不是一个真正的好选择。假设您使用的是Windows支持被弃用之前的MPICH2版本[。