问题标签 [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 投票
1 回答
2418 浏览

python - 使用并行python在networkx中的节点上并行化循环

我在networkx中做一些复杂的计算。该计算涉及为网络中的每个节点一次又一次地计算一些数量。就像这样一个计算的例子,假设我们要计算网络中每个节点的平均邻居度,并将该值保存为节点属性。以下代码段对我有用:

这给了我:

这里本身我有一个小小的疑问。对象 G 是在函数外部创建的ave_nbr_deg,即使我没有声明它是全局的,我也不知道该函数是如何获得它的信息的。

现在,我想使用并行 python 模块来使用我系统上的所有内核进行此计算。对上述代码进行一些更改后,我得到以下代码:

但它返回以下错误:

我尝试了各种各样的东西,包括nx提交中的模块名称等等。但是,我没有得到确切的问题。不幸的是,smp 的文档太短,无法解决这个问题。如果这里有人可以帮助我,我将非常感激。

提前致谢

0 投票
0 回答
118 浏览

python-2.7 - 在线程中创建的 ParallelPython 给出

创建作业服务器会出现错误:

在线程 (win32) 中创建时,使用并行 python 版本 1.6.5 和 Python27。

这是回溯:

与以下链接类似的问题:

ParallelPython 论坛问题

0 投票
1 回答
155 浏览

python - 如何将并行 python 与 django 结合起来

我想知道是否有办法将 pp (Parallel Python) 与 django 结合起来。这会很棒,因为我有多台计算机,我想用它们更好地处理请求。

0 投票
1 回答
195 浏览

python - 如何在 pp 中的函数中调用模块,其中该函数中有其他函数?

我目前正在使用并行 python,并且在 job_server.submit 的参数中,我在模块中添加了库,但问题是即使该库中还有其他库。那我该怎么办?这是我要运行的代码:

这是 demo.py 代码的一部分

你认为我应该在作业 server.submit 的模块中加载所有这些库吗?我想用pp因为detect_cn需要2分钟才能给出结果有什么想法吗?

0 投票
1 回答
429 浏览

python - 并行 Python 看不到所有计算机

我正在尝试在 Windows 10 上将 Parallel Python 与 Python 3.5 一起使用。我是新手,所以请原谅这些术语。

我已经在每台计算机(节点)上安装了 Python 和所有必需的包,并且一直在每个节点上运行批处理脚本以使它们对根计算机可见:

我将通过尝试运行一个我在互联网上找到并编辑过的简单示例来解释这个问题,该示例应该找到每个节点,但是,只找到了少数几个。总是缺少相同的节点:

所有计算机都运行 Windows 10,并且具有相同版本的 Python 和使用的包。批处理脚本正在运行。这些计算机都在同一个网络上。我没有看到所有节点的可能原因是什么?

谢谢

0 投票
1 回答
356 浏览

python - 并行 python 和子进程

我正在尝试使用 Parallel Python (pp) 模块创建一个集群。我已经建立了集群。可用节点:

还配置了master并提交了作业:

一些功能:

python_script.py与 youtube api 对话并将数据写入 mysql 数据库。

在执行时我收到此错误:

python_script.py已完全调试,有什么想法吗?

0 投票
1 回答
901 浏览

python - Python多处理 - 为完成的进程分配一个新函数?

我有一个包含 800 个图像文件的列表,我想并行处理这些文件。假设我将他们的名字存储在一个列表中:

然后我导入多处理模块并从中导入 Pool。我给每个线程一个名为“run_cli”的函数,它接受文件名。

截至目前,我运行以下代码:

并在迭代完成后手动更改文件名。我的问题是:

Q) 给定四个进程,如果一个进程已完成,我如何自动为其提供“run_cli”函数和另一个文件名(来自 lis_fnames 列表)供它分析,而不必等待所有四个进程都完成,然后再次手动运行?

0 投票
0 回答
124 浏览

python - for 循环中的并行作业随着每次迭代而减慢

背景:我试图通过在一段时间内检查桥梁的状态(损坏或未损坏)来模拟损坏桥梁的长期修复。为此,我编写了一个名为的 Python 函数repair_over_horizon,该函数获取(除其他外)损坏的桥梁列表并输出列表列表,每个列表都包含在特定时间步长仍损坏的桥梁。例如,如果输入列表是:

[100、423、667、904、221、56、495、70、109、65]

我使用repair_over_horizon了 3 个时间步长,我希望输出类似于:

[[100, 423, 667, 904, 221, 56, 495, 70, 109, 65], [100, 423, 904, 56, 70, 109, 65], [423, 904]]。

该函数repair_over_horizon实际上一次接受多个输入列表或“映射”,并并行计算它们的修复。为每个时间步实现并行化,如下面的代码所示。我还包括了内部调用的函数repair_over_horizon——即compute_repairs_at_timesteprepair——以供参考。

问题:虽然函数在输出方面按预期工作,但在每次迭代(即时间步长)时,修复需要的时间要长得多。当每个时间步长的映射数量增加时,时间的增加就变得很明显了——例如,在我每个时间步长有 50 个映射和 10 个时间步长的情况下,第一次迭代需要大约 6 秒,最后一次迭代需要大约 21 秒。当我每个时间步有 500 个地图和 5 个时间步时,第一次迭代需要约 36 秒,第五次迭代需要约 110 秒。

故障排除:我已经分析了代码(请参阅每个时间步长 500 个映射和下面 5 个时间步长的结果)并检查内存使用情况,但是从我在实现中出错的结果来看,这对我来说并不明显。

问题:随着地图数量的增加,迭代之间的大幅减速是什么原因造成的?任何关于如何解决它的想法将不胜感激。

更新:为了测试是否存在内存问题,我在函数末尾的各个点插入了 gc.collect()。但是,我仍然发现每次迭代的修复时间都更长,如上面的问题部分所述。

部分分析结果:

repair_over_horizon

compute_repairs_at_timestep

repair

0 投票
0 回答
423 浏览

python - python错误中的Pathos并行处理

在 python 中尝试并行进程时不断收到此错误:

这是我的代码的 jist:

请有人可以帮我理解错误/问题吗?

0 投票
1 回答
356 浏览

python - 通过并行 Python 执行 Fortran 子程序无法执行

我正在尝试使用并行 python(PP 包)在 Python 2.7 中执行 Fortran 子例程。但是当我使用 pp.server().submit(...) 执行它时,什么也没有发生。我可能实施错了,我使用了这里numpy.f2py.compile()解释的方法。这个对吗?如果没有,我应该改变什么?

只需提及代码几乎肯定是正确的,因为它取自博士论文(代码论文)。

在名为“design_operation”的 Python 2.7 模块中实现的子例程是:

然后,我这样称呼它:

这实际上是在一个循环中,应该在以下位置执行:

我总是收到以下错误:

零维数组不能串联。

因此,我认为错误来自任务的不正确执行,但也许我弄错了。

堆栈错误是:

PS:我认为有一些不必要的代码,因此为了更清楚我没有包含它+ func= list_append 的参数是正确的。