启动IPython笔记本MPI群集

启动IPython笔记本MPI群集,python,mpi,ipython-notebook,ipython-parallel,mpi4py,Python,Mpi,Ipython Notebook,Ipython Parallel,Mpi4py,我在尝试启动一个具有MPI功能的IPython集群时遇到了很大困难。首先,我安装了MPI和MPI4py,它们正在工作。我终于想出了如何在ipython中运行mpi-python代码。然而,我正试图在IPython笔记本中获得一个有效的mpi配置文件,我不知所措。我已经阅读了所有的文档,甚至观看了很多关于这个主题的讲座,每次我试图复制别人正在做的事情,我总是会出错。好的,如果我在bash提示符下键入: ipython profile create --parallel --profile=mpi

我在尝试启动一个具有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'

我又犯了一个错误。我一直在努力让这件事进行下去,这样我就可以在过去两天里运行一个模拟。我在一所没有人知道怎么做的学校里。请有人帮帮我好的。所以我根本不明白你跑完之后:

ipython profile create --parallel --profile=mpi
然后:

你只需要打开一个新的终端,让那些引擎在旧终端中运行。就这样!然后您可以进入ipython,所有这些命令都可以工作。

什么是“另一个错误”?
ipcluster start -n 8 --engines=MPIEngineSetLauncher