ipyparallel与mpi无法找到引擎

时间:2016-12-17 21:05:45

标签: python mpi4py ipython-parallel

我试图使用mp in the ipyparallel documentation创建一个基本的ipyparallel环境,使用mpi4py。启动ipcluster后,我加载ipython并尝试创建一个客户端,但它没有ID,访问directview会返回NoEnginesRegistered异常。

我采取的步骤来达到这一点:

  1. 创建新环境:conda create --name=ipyparallelsource activate ipyparallel
  2. 安装ipyparallel和mpi4py:conda install ipyparallel mpi4py
  3. 创建新的ipython个人资料:ipython profile create --parallel --profile=mpi
  4. 编辑〜/ .ipython / profile_mpi / ipcluster_config.py并添加c.IPClusterEngines.engine_launcher_class = 'MPIEngineSetLauncher'
  5. 使用ipcluster start --profile=mpi
  6. 启动群集

    然后我启动ipython并运行以下命令:

    import ipyparallel as ipp
    c = ipp.client(profile="mpi")
    c[:] # <-- NoEnginesRegistered exception
    

    步骤5报告&#34;引擎似乎已成功启动&#34;我可以看到一个名为&#34; mpiexec&#34;在跑。奇怪的是,我在具有相同操作系统的另一台机器上尝试了这些相同的步骤,并且它没有任何问题。我错过了什么?

1 个答案:

答案 0 :(得分:0)

我为遇到类似问题的任何人解决了这个问题。在安装过程中,我已将笔记本扩展添加到jupyter的全局配置中。不知道为什么会导致这个问题,但现在已经解决了。在conda环境之外,我跑了:

sudo pip install ipyparallel
sudo jupyter nbextension disable --py ipyparallel
sudo jupyter nbextension uninstall --py ipyparallel
sudo pip uninstall ipyparallel

然后在conda环境中我可以连接到ipyparallel引擎。