启动IPython笔记本MPI集群

时间:2014-09-27 19:06:08

标签: python mpi ipython-notebook ipython-parallel mpi4py

我很难尝试启动具有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提示符开始,当我尝试从那里开始一个集群时,我从来没有得到提示,如果我在使用GUI按钮启动profile = mpi后从笔记本中放入这个:

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

我得到了另一个错误。我一直试图让这件事情发生,所以我可以在最近两天进行模拟,而且我在一所没有人知道怎么做的学校。请有人帮帮我

1 个答案:

答案 0 :(得分:1)

好。所以在你跑完之后我根本就不明白:

ipython profile create --parallel --profile=mpi

然后:

ipcluster start -n 8 --engines=MPIEngineSetLauncher

您必须打开一个新终端,让这些引擎在旧终端中运行。而已!然后你可以进入ipython并且所有这些命令都可以工作。