我的局域网由1台Windows 10 Pro(管理员)和3台Windows 11 Pro(工作人员)组成。我在 PC(经理和工作人员)上安装了 MSMPI Microsoft MPI 启动程序版本 10.1.12498.52、MPI4PY v.3.1.5 和 Python 3.11.5。 以下简单代码“mpitest.py”在本地主机模式下的每台 PC 上运行良好:
from mpi4py import MPI
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
print("I am the process ",rank)
和命令:
mpiexec python mpitest.py
但是当我尝试使用所有PC集群时,它不起作用。文件 mpitest.py 存在于所有 4 台电脑的 C:\ 文件夹中。只有在 PC 管理器中才有文件 Hosts.txt(也在 C:/ 中),其中包含 PC 工作人员的地址,如下所示(出于隐私原因,我省略了前 3 个数字):
xxx.xxx.xxx.1
xxx.xxx.xxx.2
xxx.xxx.xxx.3
要在集群上启动进程,我编写命令:
mpiexec -machinefile hosts.txt python mpitest.py
从 PC 管理员到工作人员的 Ping 是活跃的并且工作正常。 我还禁用了防火墙和其他保护措施。 我期望每个工人和经理都会收到一系列消息“我就是流程...我就是流程...”。 没有产生错误,但似乎主人在等待什么。 我做错了什么?
解决了!
在所有计算机节点上运行 spmd -d。 安装后MPI文件夹中存在spmd.exe。