标签: ipython-parallel

ipython Notebook:如何并行化外部脚本

我正在尝试使用ipython并行库中的并行计算。但是我对此几乎一无所知,而且我发现很难从对并行计算一无所知的人那里阅读该文档。

有趣的是,我发现的所有教程都只是重复使用该文档中的示例,并且具有相同的解释,按照我的观点,这是没有用的。

基本上我想做的是在后台运行几个脚本,以便它们可以同时执行。在bash中,它将类似于:

for my_file in $(cat list_file); do
    python pgm.py my_file &
done
Run Code Online (Sandbox Code Playgroud)

但是Ipython notebook的bash解释器无法处理后台模式。

看来解决方案是使用ipython的并行库。

我试过了 :

from IPython.parallel import Client
rc = Client()
rc.block = True
dview = rc[:2] # I take only 2 engines
Run Code Online (Sandbox Code Playgroud)

但是后来我被困住了。我不知道如何同时运行同一脚本或pgm两次(或多次)。

谢谢。

parallel-processing ipython ipython-notebook ipython-parallel jupyter

4
推荐指数
1
解决办法
3661
查看次数

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

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

当我第一次尝试ipyparallel时,我得到了一个未定义的全局名称错误.从某种意义上讲,无法找到本地对象的工人.为了避免花费相当多的时间去挖掘兔子洞,将一大堆物品传递给所有工人的最简单方法是什么?以这种方式使用ipyparallel时还有其他需要考虑的问题吗?

ipython-notebook ipython-parallel

4
推荐指数
1
解决办法
2763
查看次数

ipykernel_launcher进程正在消耗内存,无法杀死

我的机器中这些僵尸 ipykernel_launcher 进程是什么,它们占用了大量内存: 在此输入图像描述

这是 htop 命令的输出,但我对这些进程进行了 ps,(以杀死它们)我没有将它们视为:

ps -ef|grep ipykernel

不知道如何摆脱这些内存占用!

python parallel-processing python-3.x ipython-parallel jupyter-notebook

4
推荐指数
1
解决办法
2139
查看次数

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

我不开始我的IPython集群的ipcluster命令,但与个人的命令ipcontroller,并ipengine因为我用的几台机器在网络上。使用ipcluster命令启动集群时,停止集群非常简单:

ipcluster stop

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

谢谢你的帮助

ipython-parallel

3
推荐指数
1
解决办法
1242
查看次数

来自IPython并行引擎的实时输出?

我正在使用IPython强大的并行化功能运行一堆长时间运行的任务.

如何在我的IPython客户端中从ipengines的stdout获得实时输出?

例如,我正在运行dview.map_async(fun, lots_of_args)fun打印到stdout.我希望看到输出正在发生.

我知道AsyncResult.display_output(),但它只所有任务完成后才可用.

ipython ipython-parallel

2
推荐指数
1
解决办法
2077
查看次数

2
推荐指数
1
解决办法
1051
查看次数

如何在Jupyter Notebook中正确导入引擎上的模块进行并行处理?

我想用Jupyter笔记本采用Python来运行一个尴尬的并行功能,创建曲线(并最终将它们保存到一个文件)(编辑-我发现了一个更简单的方法来做到这正是在这里).我正在尝试最简单的版本,我收到导入错误.

我应该在哪里以及为什么要导入相关模块?我想我到处输入它们只是为了确定但我仍然有错误!

导入文件中的位置编号为1-4

[1]这条线真的有必要吗?为什么?

[2]这条线真的有必要吗?为什么?

[3]这条线真的有必要吗?为什么?

[4]这条线真的有必要吗?为什么?

以下是我的文件:jupyter笔记本文件:

import ipyparallel
clients = ipyparallel.Client()
print(clients.ids)
dview = clients[:]
with dview.sync_imports():
    import module #[1]
    import matplotlib #[2]
import module #[3]
dview.map_sync(module.pll, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Run Code Online (Sandbox Code Playgroud)

和一个python文件名module.py

import matplotlib #[4]
def pll(x):
    matplotlib.pyplot.plot(x, '.')
Run Code Online (Sandbox Code Playgroud)

当我运行笔记本时,我得到以下输出

[0, 1, 2, 3, 4, 5]
importing module on engine(s)
importing matplotlib on engine(s)
[Engine Exception]
NameErrorTraceback (most recent call last)<string> in <module>()
(...)
NameError: name 'matplotlib' is not …
Run Code Online (Sandbox Code Playgroud)

python ipython python-3.x ipython-parallel jupyter-notebook

1
推荐指数
1
解决办法
976
查看次数