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

2024-05-12 12:54:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在为IPython实例化集群时遇到了很大的问题。我觉得医生很复杂。在

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

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

我可以通过sshlinello@myserveripaddress访问远程服务器,无需密码。 我认为这种情况对于许多从事科学计算的人来说是相当标准的。在

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

如果我用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脚本修改为以下内容:

^{pr2}$

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

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


Tags: 实例in引擎服务器client密码远程parallel
1条回答
网友
1楼 · 发布于 2024-05-12 12:54:51

我一开始也觉得很困惑。我在某种程度上还是这样,但我想我有一个案子和你的案子很相似。在

唯一被遗漏的就是告诉引擎控制器在哪里。ipcluster配置中有一个选项如下:

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

在哪里xxx.xxx.xxx.xxx是运行控制器的计算机的ip地址。我认为这是你的配置可能存在的问题。在

我通常通过在提示符下运行ipcluster来测试这类东西。它通常对问题相当明确。我希望这有帮助。在

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

^{pr2}$

相关问题 更多 >