问题标签 [ipython-parallel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
360 浏览

ipython - MemoryError 将数据发送到 ipyparallel 引擎

我们喜欢 Ipython.parallel(现在是 ipyparallel)。

不过,有些事情让我很烦恼。当向一群工作人员发送约 1.5GB 的 pandas 数据帧时,如果集群有很多节点,我们会收到 MemoryError。看起来数据帧的副本与引擎的数量(或某个比例数)一样多。有没有办法避免这些副本?

例子:

对于小型集群(例如 30 个节点),内存不断增长,但最终数据通过,一切正常。但是对于更大的集群,例如 80 个节点(所有 r3.4xlarge 只有 1 个引擎,而不是 n_core 引擎),然后htop报告内存增长到最大值(123GB),我们得到:

请注意,在查看了https://ipyparallel.readthedocs.org/en/latest/details.html之后,我们尝试仅发送底层 numpy 数组 ( xy.values) 以尝试进行“非复制发送”但也获得MemoryError.

版本:

  • Jupyter 笔记本 v.4.0.4
  • Python 2.7.10
  • ipyparallel.__version__: 4.0.2
0 投票
1 回答
930 浏览

python - IPython ipyparallel map_sync ImportError

我是新手ipyparallel,我想使用这个包来实现我的机器学习应用程序的并行计算。

下面是对 的测试ipyparallel,我add在 func.py 文件中定义了一个函数,在 test.py 文件中定义了 main 函数。

func.py 的代码是:

test.py 的代码是:

既然你知道map可以正常运行,但是当运行时map_sync,命令行返回:

如果我在 test.py 文件中定义函数,map_sync可以运行:

结果是:

我想知道map_sync如何使用其他文件中定义的函数?以及如何导入这些功能?由于from py_file import func不适用于map_sync.

0 投票
1 回答
268 浏览

ipython - ipython 并行和自己的类

我正在研究一个处理数字运算以使用数据数组执行的类。

不幸的是,我无法通过将类的函数应用于创建的直接视图来开始工作。我得到错误:

和班级:

请帮我解决我的问题,抱歉英语不好

0 投票
2 回答
291 浏览

ipython-notebook - IPython notebook:定义一个虚拟单元魔法,像往常一样简单地运行单元

我如何定义一个简单的单元魔术,就像%%mymagic不存在一样执行单元?

上下文是我们正在使用出色的IPython 并行框架。在某些地方,我们也使用它定义的%%px魔法。但有时我们想在没有集群的情况下运行同一个笔记本(仅限本地)。在这种情况下,%%px未定义,我将不得不将其注释掉。相反,在这种情况下,我想重新定义%%px

  • %%px: 将是一个无操作。

  • %%px --local: 只是运行单元格,没有其他副作用。

或者,如果更简单的话,所有%%px(有或没有)都可以只运行单元格。--local

另一种方法是创建一个假的 ipyparallel 客户端,即具有 0 个节点(但仍然可以正常运行,例如关于%%px --local)。但这将是另一个问题。

我尝试过的事情

  • %alias_magic px time(毕竟,我不在乎单元格是否定时)。不幸的是,%%time不接受争论和窒息--local

  • 定义我自己的“无操作”魔法:

    但这在实际上什么都不做(即不执行单元格)方面做得有点太成功了。

  • 查看IPython/core/magics/execution.py看看是否有任何我可以重用的钩子(只会执行单元格的东西)。我还没有找到,但也许我还不够努力。

还有什么想法吗?

0 投票
1 回答
685 浏览

ipython - 在 ipyparallel 引擎之间拆分作业以进行外部 n 线程调用

问题

假设我有 20 个处理器可用。我想将参数传递给
IPython 的外部程序,该程序一次运行 4 个线程最好,并使用 map_async 继续添加作业,直到所有作业完成。下面是示例代码,我相信一次只会为每个作业分配一个进程。这是您将使用“块大小”标志的示例吗?似乎会做相反的事情,即将多个作业发送到一个处理器。

在 IPython 之外启动引擎

IPython 代码

0 投票
1 回答
3439 浏览

ipython-notebook - 将局部变量传递给 ipyparallel 集群的最佳方法

我在一个 ipython notebook 中运行一个模拟,它由七个相互依赖的函数组成,需要 13 个不同的参数。一些函数在其他函数中被调用,以允许一个函数运行整个模拟。模拟涉及操作两个参数,总共 > 20k 次迭代。两个模拟可以异步运行。由于每次迭代大约需要 1.5 秒,我正在研究并行处理。

当我第一次尝试 ipyparallel 时,我得到了一个未定义的全局名称错误。找不到本地对象是有道理的。为了避免花费大量时间进入兔子洞,将一大堆对象传递给所有工人的最简单方法是什么?以这种方式使用 ipyparallel 时还有其他需要考虑的问题吗?

0 投票
1 回答
1354 浏览

ipython-parallel - 如何在没有 ipcluster 命令的情况下停止 IPython 集群

我不使用命令启动我的 IPython 集群,ipcluster而是使用单独的命令ipcontrolleripengine因为我在网络上使用了几台机器。使用ipcluster命令启动集群时,停止集群相当简单:

ipcluster stop

但是,单独使用各个命令时,我无法找到该过程。

谢谢你的帮助

0 投票
1 回答
983 浏览

ipython-notebook - 监控ipyparallel完成状态

我有一个需要一段时间来计算的函数,并且必须使用两个不同的参数迭代 >20k 次:

我看到有一个可用的wait_interactive方法,但是我无法弄清楚如何使用它。在给定的时间间隔打印状态更新的最佳方法是什么?

更新

我添加了all_ids列表和get_result().wait_interative()方法。

这会按预期产生定期状态更新,但现在会产生回溯。

ar.get()在方法找到它们之前,消息 ID 或结果是否在某处被清除?

0 投票
0 回答
74 浏览

python-3.x - 在 IPython.parallel 会话中遇到的“Task farm is disabled”或类似的套接字相关问题

IPython.parallel 的负载均衡接口非常棒。我用它在小型集群环境中运行复杂的科学计算。几个百题,每个需要 5~10 分钟在 PC 上完成,被发送到集群。在我开始向集群提交更繁重的任务之前,我可以毫无问题地获取结果。即使分配的任务成功完成,某些引擎也未注册。我使用“ipcontroller --ping=120000”来规避这个问题,但 IPython 现在告诉我“任务农场已禁用”。是什么导致了问题,我该怎么办?

顺便说一句,我在集群上使用 ssh 模式。

0 投票
0 回答
917 浏览

python - 使用 ipython 并行将 pandas 数据帧写入 csv

我正在尝试使用 ipython 并行模块将多个熊猫数据帧写入 csv,因为串行执行此操作非常慢。

这是我正在尝试做的一个小例子:

尽管该函数没有 return 语句,但它运行没有错误,因此h是一个列表None(并且没有任何内容写入磁盘)。这显然不是这样做的正确方法。我已经成功地操纵了内存中的数据帧,但无法确定是否可以将它们并行写入磁盘。任何帮助深表感谢。