2024-06-26 02:00:05 发布
网友
我想使用python'smultiprocessing模块来利用多核Linux服务器。在
python's
multiprocessing
我需要所有进程对同一共享内存具有读/写访问权限。在
与其使用list或queue,是否可以使用多维numpy数组作为共享对象?在
list
queue
numpy
我发现,即使你在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。我看起来不容易,但这是可行的。在
编辑:链接坏了,我已经链接到另一个副本。在
我发现,即使你在fork()一堆子进程之后不修改numpy数组,你仍然会看到你的RAM在childprocesses由于某种原因在写对象时拷贝。在
你可以限制(或完全缓解?)通过设置
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。我看起来不容易,但这是可行的。在
编辑:链接坏了,我已经链接到另一个副本。在
相关问题 更多 >
编程相关推荐