首页 > 解决方案 > 带有 mpi4py 的 Openmpi 不能在多个节点上工作

问题描述

我有用 mpi4py 编写的并行 python 程序。我正在尝试使其分发。我设置了虚拟机,安装了 openmpi,openssh 服务器,交换了密钥等等。在本地机器上我有主机文件:

127.0.0.1 slots=4
192.168.1.104 slots=2

我尝试运行程序:

mpirun -np 2 --hostfile hostfile python2 algen.py 0.85 0.02 20 70

但我收到以下错误:

[Kreutz:13090] tcp_peer_recv_connect_ack:无效的标头类型:0

ORTE 无法可靠地启动一个或多个守护程序。这通常是由以下原因引起的:

  • 在一个或多个节点上找不到所需的库和/或二进制文件。请检查您的 PATH 和 LD_LIBRARY_PATH 设置,或使用 --enable-orterun-prefix-by-default 配置 OMPI

  • 缺乏在一个或多个指定节点上执行的权限。请核实您的分配和权限。

  • 无法将启动文件写入 /tmp (--tmpdir/orte_tmpdir_base)。请与您的系统管理员联系以确定要使用的正确位置。

  • 当需要静态时(例如,在 Cray 上),使用动态库编译 orted。请检查您的配置 cmd 行并考虑为您的系统类型使用 contrib/platform 定义之一。

  • 由于缺乏通用网络接口和/或在它们之间找不到路由,无法创建与 mpirun 的连接。请检查网络连接(包括防火墙和网络路由要求)。

我不知道现在该怎么办。你有什么想法我可以尝试吗?

标签: pythonpython-2.7openmpimpi4py

解决方案


推荐阅读