跨库的 MPI 消息
Posted
技术标签:
【中文标题】跨库的 MPI 消息【英文标题】:MPI messages across libraries 【发布时间】:2017-12-18 19:55:08 【问题描述】:您可以跨两个库发送 MPI 消息吗?
示例 - 如果我在 Windows 机器上安装了 MS-MPI,然后在 linux 集群(同一网络)上安装了 Open-MPI,我能否在两个不同操作系统上运行的代码之间获取消息。
基本上是多程序多数据 MPMD,但使用 Windows 和 Linux 资源。
只需要知道这是否可行,如果可以,任何信息都会很好,但不需要。
【问题讨论】:
【参考方案1】:不,这是不可能的。如果您尝试对一个实现的不同版本或配置进行此操作,您甚至会遇到很大的麻烦。
MPI 的目标是在 HPC 系统上进行同构安装。通信协议没有标准化,只有编程接口。
【讨论】:
谢谢。也可以找到将这些中的任何一个链接在一起的任何包。我正在尝试找到一些方法来至少在这些资源之间实现松散耦合。【参考方案2】:一般:没有。这在 MPI 标准中没有指定,并且大多数实现不支持此类作业。我猜这是一个相当少见的用例。
但是,英特尔 MPI 确实提供跨操作系统启动作业,请参阅:
https://software.intel.com/en-us/mpi-developer-guide-linux-cross-os-launch-mode
一些细节: 英特尔 MPI 以及其他商业 MPI 实施均基于 MPICH 开源项目。不过,我不确定是否可以通过 MPICH 以某种方式实现跨操作系统启动。一项快速的谷歌研究只提供了负面但可能过时的结果,例如
https://lists.mcs.anl.gov/pipermail/mpich2-dev/2005-July/000085.html
【讨论】:
以上是关于跨库的 MPI 消息的主要内容,如果未能解决你的问题,请参考以下文章
boost mpi:字符串变量在 mpi 消息中传递是不是有最大长度?