我想使用 mpi4py 包使用 python 进行分布式编程。出于测试原因,我通过谷歌容器引擎建立了一个 5 节点的集群,并相应地更改了我的代码。但是现在,我的下一步是什么?如何让我的代码在所有 5 个虚拟机上运行和工作?
我试图从集群中通过 ssh-connect 连接到一个虚拟机并运行代码,但很明显代码没有被分发,而是留在同一台机器上:( [参见下面的示例]
.
代码:
from mpi4py import MPI
size = MPI.COMM_WORLD.Get_size()
rank = MPI.COMM_WORLD.Get_rank()
name = MPI.Get_processor_name()
print("Hello, World! I am process/rank {} of {} on {}.\n".format(rank, size,name))
.
输出:
mpiexec -n 5 python 5_test.py
你好世界!我是 gke-cluster-1-000000cd-node-mgff 上的 5 个进程/排名 0。
你好世界!我是 gke-cluster-1-000000cd-node-mgff 上的 5 个进程/排名 1。
你好世界!我是 gke-cluster-1-000000cd-node-mgff 上的 5 个进程/排名 2。
你好世界!我是 gke-cluster-1-000000cd-node-mgff 上的 5 个进程/排名 3。
你好世界!我是 gke-cluster-1-000000cd-node-mgff 上的 5 个进程/第 4 个。