IPython单元魔法在客户端和所有引擎中运行此单元

3 投票
1 回答
867 浏览
提问于 2025-04-18 01:40

在IPython中进行并行执行时,我们有多个引擎。任务会通过使用 %%px 这个命令来分配给这些引擎,这个命令可以帮助我们在客户端设置环境,然后使用 DirectView map_sync 来运行不同的实验。

这些实验会返回一个命名元组的结果。也就是说,这个命名元组需要在客户端和每个引擎中都声明。

目前每次我运行这个实验时,都要运行两次,一次是用 %%px,另一次是不用。

请问有没有一个 %%px 的选项,可以让它同时在本地和每个引擎上运行呢?

1 个回答

4

从IPython 1.0开始,你可以通过%%px命令让代码单元在本地也执行。这是通过使用“--local”这个选项来实现的。

%%px --local

http://nbviewer.ipython.org/github/ipython/ipython/blob/2.x/examples/Parallel%20Computing/Parallel%20Magics.ipynb

撰写回答