Python在进程之间共享Numpy数组?

2024-06-26 02:00:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用python'smultiprocessing模块来利用多核Linux服务器。在

我需要所有进程对同一共享内存具有读/写访问权限。在

与其使用listqueue,是否可以使用多维numpy数组作为共享对象?在


Tags: 模块对象numpy服务器权限利用queue进程
3条回答

我发现,即使你在fork()一堆子进程之后不修改numpy数组,你仍然会看到你的RAM在childprocesses由于某种原因在写对象时拷贝。在

你可以限制(或完全缓解?)通过设置

"yourArray.flags.writeable = False"

fork()'ing/Pool()'ing之前,似乎可以降低RAM的使用量,而且比其他方法麻烦得多:)

我想我知道你在找什么:https://bitbucket.org/cleemesser/numpy-sharedmem/issue/3/casting-complex-ndarray-to-float-in

网页上有一个简短的描述:Stura Molden和G.Varoquoux为numpy设计的共享内存模块,它使得以numpy数组的形式在进程之间共享内存变得很容易。最初发布到SciPy用户邮件列表。在

我,我自己就是这么用的。在进程之间共享NumPy数组。对我来说效果很好。在

this。我看起来不容易,但这是可行的。在

编辑:链接坏了,我已经链接到另一个副本。在

相关问题 更多 >