Python——在进程之间共享Numpy数组?
我想使用python的多处理模块来利用多核Linux服务器 我需要所有进程对同一共享内存具有读/写访问权限 不使用Python——在进程之间共享Numpy数组?,python,numpy,Python,Numpy,我想使用python的多处理模块来利用多核Linux服务器 我需要所有进程对同一共享内存具有读/写访问权限 不使用列表或队列,是否可以使用多维numpy数组作为共享对象。我看起来不容易,但这是可行的 编辑:链接已损坏,我已链接到另一个副本。我想我知道你在找什么: 网页上有一个简短的描述:Sturla Molden和G.Varoquaux为numpy设计的共享内存模块,它可以很容易地以numpy阵列的形式在进程之间共享内存。最初发布到SciPy用户邮件列表 一、 我自己就是这样用的。在进程之间共享
列表
或队列
,是否可以使用多维numpy
数组作为共享对象。我看起来不容易,但这是可行的
编辑:链接已损坏,我已链接到另一个副本。我想我知道你在找什么: 网页上有一个简短的描述:Sturla Molden和G.Varoquaux为numpy设计的共享内存模块,它可以很容易地以numpy阵列的形式在进程之间共享内存。最初发布到SciPy用户邮件列表
一、 我自己就是这样用的。在进程之间共享NumPy数组。这对我很有效 我发现,即使在fork()处理了一堆子进程之后不修改numpy数组,由于某种原因,当子进程在写入对象时复制时,仍然会看到RAM急剧上升 您可以通过设置
"yourArray.flags.writeable = False"
在fork()'ing/Pool()'ing之前,它似乎可以降低RAM的使用量,并且比其他方法麻烦得多:)链接已经腐烂。正确的语法是:
myarray.flags['WRITEABLE']=False
请更新上面的链接好吗?它不再导致代码。非常感谢。