2014-09-27 100 views
2

我很难尝试启动具有MPI功能的IPython群集。首先我安装了MPI和MPI4py,他们正在工作。我终于想出了如何在ipython中运行mpi python代码。但是,我试图在IPython笔记本中获得工作的mpi配置文件,并且处于茫然之中。我已阅读所有文档,甚至观看了很多关于这个主题的讲座,每次我尝试复制某人正在做的事情时,我总是会得到错误。好吧,如果我从bash提示符下输入:启动IPython笔记本MPI群集

ipython profile create --parallel --profile=mpi 

我可以进入笔记本并查看该群集。然后,如果我通过点击开始行动按钮来启动它,它开始up.But然后,如果我这样做:

%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提示符,我从来没有得到及时回来每当我试图从那里开始集群,如果我把这个从笔记本后,我开始配置= MPI与GUI按钮:

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

我得到了另一个错误。我一直试图让这件事情发生,所以我可以在过去的两天里进行模拟,并且在没有人知道如何做到的学校里。请别人帮我

+0

什么是“另一个错误”? – 2014-09-28 08:20:55

回答

1

好吧。所以我根本不明白,你运行后:

ipython profile create --parallel --profile=mpi 

则:

ipcluster start -n 8 --engines=MPIEngineSetLauncher 

你只打开一个新的终端,让在旧终端运行的发动机。而已!然后你可以进入ipython,所有这些命令都可以工作。