我很难尝试启动具有 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'
我遇到了另一个错误。我一直在努力让这件事继续下去,这样我就可以在过去两天里运行一个模拟,而且我在一所没人知道该怎么做的学校里。请有人帮助我