[Numpy-discussion] numpy/Windows shared arrays between processes?
Tue Oct 9 02:32:16 CDT 2007
Sebastian Haase wrote:
> I was in fact experimenting with this. The solution seemed to lie in
> "simple" memmap as it is implemented in Windows:
> import numpy as N
> def arrSharedMemory(shape, dtype, tag="PriithonSharedMemory"):
> Windows only !
> share memory between different processes if same `tag` is used.
> itemsize = N.dtype(dtype).itemsize
> count = N.product(shape)
> size = count * itemsize
> import mmap
> sharedmem = mmap.mmap(0, size, tag)
> a=N.frombuffer(sharedmem, dtype, count)
> a.shape = shape
> return a
> For explaintion look up the microsoft site for the mmap documentation.
> And/or the Python-doc for mmap.
> (( I have to mention, that I could crash a process while testing this ... ))
> If anyone here would know an equivalent way of doing this on
> Linux/OS-X we were back to a cross-platfrom function.
AFAIK, the tag thing is pretty much windows specific, so why not just
ignoring it on non windows platforms ? (or interpreting the tag argument
as the flag argument for mmap, which would be consistent with python
mmap API ?)
More information about the Numpy-discussion