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 提示符开始,无论何时我尝试从那里启动集群,如果我在使用 GUI 按钮启动 profile=mpi 后将其从笔记本中放入,我永远不会得到提示:

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

我遇到了另一个错误。我一直在努力让这件事继续下去,这样我就可以在过去两天里运行一个模拟,而且我在一所没人知道该怎么做的学校里。请有人帮助我

4

1 回答 1

1

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

ipython profile create --parallel --profile=mpi

然后:

ipcluster start -n 8 --engines=MPIEngineSetLauncher

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

于 2014-09-28T15:34:42.547 回答