[Numpy-discussion] Fast threading solution thoughts
Thu Feb 12 06:57:10 CST 2009
On 2/12/2009 12:20 PM, David Cournapeau wrote:
> It does if you have access to the parallel toolbox I mentioned earlier
> in this thread (again, no experience with it, but I think it is
> specially popular on clusters; in that case, though, it is not limited
> to thread-based implementation).
As has been mentioned, Matlab is a safer language for parallel computing
as arrays are immutable. There is almost no need for synchronization
of any sort, except barriers.
Maybe it is time to implement an immutable ndarray subclass?
With immutable arrays we can also avoid making temporary arrays in
expressions like y = a*b + c. y just gets an expression and three
immutable buffers. And then numexpr (or something like it) can take care
of the rest.
As for Matlab, I have noticed that they are experimenting with CUDA now,
to use nvidia's processors for hardware-acceleration. As even modest
GPUs can yield hundreds of gigaflops, that is going to be hard to match
(unless we make an ndarray that uses the GPU). But again, as the
performance of GPUs comes from massive multithreading, immutability may
be the key here as well.
More information about the Numpy-discussion