启动一个IPython notebook MPI集群

3

我正在尝试启动一个具有MPI功能的IPython集群,但遇到了很大的困难。首先,我已经安装了MPI和MPI4py,并且它们可以正常工作。最终,我找到了在IPython中运行mpi python代码的方法。但是,我正在尝试在IPython笔记本中获取一个可用的mpi配置文件,但是一直无法成功。我已经阅读了所有文档,甚至观看了许多关于此主题的讲座,但每次我尝试复制别人的操作时,总是会出现错误。好吧,如果我从bash提示符中输入:

ipython profile create --parallel --profile=mpi

我可以进入笔记本并查看集群。然后,如果点击启动操作按钮来启动它,它会启动。但是,如果我执行以下操作:

%pylab inline
from IPython.parallel import Client, error
cluster=Client(profile="mpi")
view=cluster[:]
view.block=True

%%px

from mpi4py import MPI
import numpy as np
import time

mpi=MPI.COMM_WORLD
bcast=mpi.bcast
barrier=mpi.barrier
rank=mpi.rank
print "MPI rank is %i/%i" % (rank,mpi.size)

我理解为:

MPI rank is 0/1
MPI rank is 0/1
MPI rank is 0/1
MPI rank is 0/1
MPI rank is 0/1
MPI rank is 0/1
MPI rank is 0/1
MPI rank is 0/1

进一步地,如果我执行以下操作:
from Ipython import parallel

rc=parallel.Client()
rc.block=True
rc.ids

我在 rc=parallel.Client() 这一行遇到了错误。那么在使用默认集群时,这两个都可以正常工作... 我也尝试了

ipcluster start -n 8 --engines=MPIEngineSetLauncher

从bash提示符下,每当我尝试从那里启动集群时,我都无法获取提示符,并且如果我在启动profile=mpi的GUI按钮后将其放入笔记本中:

from IPython.parallel import Client
c=Client(profile='mpi')
c.IPClusterEngines.engine_launcher_class='MPIEngineSetLauncher'

我遇到了另一个错误。我已经试图让这个东西运行两天了,因为在我的学校没有人知道如何做这个。请有人帮助我。


"另一个错误" 是什么? - Vladimir F Героям слава
1个回答

1
好的。所以我只是不理解在运行之后,你需要做什么:
ipython profile create --parallel --profile=mpi

然后:
ipcluster start -n 8 --engines=MPIEngineSetLauncher

您只需打开一个新终端,并让这些引擎在旧终端上运行。就是这样!然后,您可以进入ipython并使用所有这些命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接