问题标签 [parallel-python]

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 投票
2 回答
1082 浏览

python - 在python中并行写入列表

我有多个并行进程写入 python 中的一个列表。我的代码是:

我不喜欢这种方法,因为它有:

  1. 一个整体的全局变量-> `total_results 函数有一个局部变量的方法是什么?
  2. 我检查列表何时返回的方式似乎有些笨拙,标准方式是什么?
0 投票
1 回答
245 浏览

python - 如何限制特定/所需值的并行 python 代码

我正在使用并行 Python 来运行下面的代码。任何人都可以更正代码吗?这应该为输入列表中超过 20 的值打印“SORRY”。这仍然适用于超过 20 的值。

0 投票
1 回答
2457 浏览

python - 使用并行 python 和包中的方法获取“ImportError: No module named”

我正在尝试使用并行 python 来进行一些分布式基准测试(本质上,在来自中央服务器的一组机器上协调和运行一些代码)。在我将功能移动到单独的包之前,我的代码运行良好。从那以后,我不断得到ImportError: No module named some.module.pp_test

我的问题实际上是双重的:有没有人遇到过这个问题pp,如果是,如何解决?我尝试使用dillimport dill),但没有帮助。此外,parallelpython 是否有一个很好的替代品,不需要任何额外的基础设施?

我得到的确切错误是:

代码的结构是这样的:

test.py实现为:

虽然pp_test.py是:

0 投票
1 回答
420 浏览

python - 全局变量、类和并行 Python

我已经阅读了几个小时关于 globals=globals() 如何在 Parallel Python 上工作的内容,但我仍然有点困惑,也许你可以帮助我......我正在编写一个基本上可以概括为的代码:

输出是“未定义全局名称'Foo'”,正如我之前遇到的其他一些人......我知道 globals 参数用于以简化的方式将函数和类传输到服务器,所以我希望它已经通过了 Foo() 类,因为它在执行 job_server.submit 指令之前位于全局变量中(正如您可以通过取消对 print globals() 指令的注释看到的那样)。

我应该知道的关于 PP 的什么遗漏?有没有办法让这段代码在没有太多更改的情况下运行?

感谢您阅读我,我希望你们中的一些人了解它是如何工作的!

(备注:我不想在并行化作业之外创建 Foo 的实例,仅仅是因为初始化一个实例会触发整个程序,它在init (self) 函数内......坏主意,我知道......)

0 投票
2 回答
349 浏览

python - 并行 Python:4 个线程与 2 个线程具有相同的速度

我正在使用Parallel Python在多个内核上执行计算繁重的代码。我有一个i7-4600M处理器,它有 2 个内核和 4 个线程。

有趣的是,如果我使用 2 或 4 个线程,计算时间几乎相同。我写了一个小示例代码,演示了这种现象。

这是运行程序和cpu使用率的简短视频:https ://www.screenr.com/1ULN当我使用2个线程时,cpu有50%的使用率,如果我使用4个线程,它使用100%。但它只是稍微快一点。使用 2 个线程,我获得了 1.8 倍的加速,使用 3 个线程获得了 1.9 倍的加速,使用 4 个线程获得了 2 倍的加速。

如果代码太快,请使用n = 10or n = 11。但要小心,复杂度是6^n. 所以n = 10将需要 6 倍的时间n = 9

0 投票
2 回答
439 浏览

python - 将并行 python 与实例方法一起使用?

鉴于这里的代码,我尝试调用:

它提出了:

为了使用 pp 库,我应该如何在 Python 中处理这种情况。或者还有哪些其他可用的解决方案?

0 投票
1 回答
353 浏览

python - 在并行python(pp)中检索结果太慢了

为了在我的 4 核笔记本电脑上执行串行并行处理,我使用了并行 python (pp) 包。这是用于完成这项工作的脚本的快速摘要。在初始化并行 python 对象后,我将我的任务分成 4 个作业并将它们检索到一个列表中。

我注意到 for 循环的性能相当快(几秒钟内),但检索过程(results = [job() for job in jobs])花费的时间太长(大约 10 分钟)。

有人可以解释为什么会这样并推荐一种解决此问题的方法吗?谢谢你。

0 投票
1 回答
210 浏览

python - 并行 Python:限制每个核心的进程数

我正在使用具有两个内核的计算机中的并行 python 中的下一个代码(这只是完整代码的一部分)

local_sched函数太大,无法在此处指定,但它的作用是使用 gurobipy 解决优化问题。当我指定 2 个核心 ( )时,每个核心number_core = 2只能运行 12 个进程,因此即使有 100 个进程,我也只能运行 24 个进程;之后,python 停止工作,即使在 windows 任务管理器中说 python 仍在运行。发生这种情况时,我必须使用 de windows 任务管理器停止进程才能再次使用 de 命令提示符。如果我指定 3 个核心,那么我可以运行 100 个进程中的 36 个,依此类推。据我所知,这不应该发生。有谁知道为什么会这样?

0 投票
2 回答
760 浏览

python - 如何在python中实现单程序多数据(spmd)

我阅读了多处理文档。在python中发现可以将任务分配给不同的cpu核心。我喜欢并行运行以下代码(作为开始)。

现在我得到输出为 1 2 3,然后是 1 ....6。但我需要像 1 1 2 2 一样工作,即我想并行运行 proc1 和 proc2(不是一个接一个)。

0 投票
1 回答
1299 浏览

python - 在并行python中的进程之间共享信号量对象时出现问题

当与并行 python 一起使用时,我在将任何信号量对象或将事件、管道、队列等对象同步到子进程时遇到问题,当我将队列传递给子进程时出现以下错误。'通过继承' % type(self).__name__ RuntimeError: 队列对象只能通过继承在进程之间共享

当我使用多处理库时没有看到任何问题