gpt4 book ai didi

python - 如何正确实例化由本地和远程机器组成的 IPython 集群

转载 作者:行者123 更新时间:2023-11-28 19:21:20 24 4
gpt4 key购买 nike

我在为 IPython 实例化集群时遇到了很大的问题。我认为该文档非常复杂。

我的系统由以下部分组成:

  1. 本地计算机,Ubuntu 12.04 x86_64,IPython 2.1,8 核处理器
  2. 远程计算机,Ubuntu 12.04 x86_64,IPython 2.1,16 核处理器,从本地计算机通过无密码 SSH 访问。

我无需密码就可以通过 ssh linello@myserveripaddress 访问远程服务器。我认为这种情况对于许多进行科学计算的人来说是非常标准的。

我想用 8 个本地引擎和 16 个远程引擎(= 总共 24 个引擎)实例化一个 IPython notebook,以利用一些令人尴尬的并行计算。

如果我用 ipcluster start 启动我的 ipython 集群,然后启动一个 IPython 实例,在其中实例化 Client 类,我只会得到 8 个本地客户端

In[1]: from IPython import parallel
In[2]: clients = parallel.Client()
In[3]: print clients.ids
Out[3]: [0,1,2,3,4,5,6,7]

这意味着只有本地引擎启动了。因此,我将 ipcluster_config.py 脚本修改为以下内容:

c = get_config()

c.IPClusterEngines.engine_launcher_class = 'SSH'
c.LocalControllerLauncher.controller_args = ["--ip='myserverip'"]

c.SSHEngineSetLauncher.engines = {
'localhost': 4,
'tyler': 4,
'par': 4,
}


c.SSHEngineSetLauncher.engine_cmd = ['/ipengine']

其中myserverip其实是我的服务器ip 192.168.xxx.yyy

我真的不知道如何正确配置我的 ipython 配置文件以在我的 ipython 内核中拥有 24 个引擎。

最佳答案

我一开始也发现这真的很令人困惑。在某种程度上我仍然这样做,但我认为我有一个案例与你的相似。

唯一看起来缺少的是告诉引擎 Controller 在哪里。 ipcluster 配置中有一个选项,如下所示:

c.SSHEngineLauncher.engine_args = ['--location=xxx.xxx.xxx.xxx']

其中 xxx.xxx.xxx.xxx 是运行 Controller 的机器的 IP 地址。我认为您的配置可能存在问题。

我通常通过在提示符下运行 ipcluster 来测试这类事情。它通常非常明确地说明了问题。希望对您有所帮助。

此外,我通常不需要指定:

c.SSHEngineSetLauncher.engine_cmd = ['/ipengine']

关于python - 如何正确实例化由本地和远程机器组成的 IPython 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24264454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com