[Numpy-discussion] Using multiprocessing (shared memory) with numpy array multiplication
Christopher Barker
Chris.Barker at noaa.gov
Wed Jun 15 17:22:37 EDT 2011
Sturla Molden wrote:
> IMHO, trying to beat Intel or AMD performance library developers with
> Python, NumPy and multiprocessing is just silly. Nothing we do with
> array operator * and np.sum is ever going to compare with BLAS functions
> from these libraries.
I think the issue got confused -- the OP was not looking to speed up a
matrix multiply, but rather to speed up a whole bunch of independent
matrix multiplies.
> Sometimes we need a little bit more course-grained parallelism. Then
> it's time to think about Python threads and releasing the GIL or use
> OpenMP with C or Fortran.
>
> multiprocessing is the last tool to think about. It is mostly
> approproate for 'embarassingly parallel' paradigms, and certainly not
> the tool for parallel matrix multiplication.
I think this was, in fact, an embarrassingly parallel example. But when
the OP put it on two processors, it was slower than one -- hence his
question.
I got the same result on my machine as well.
I'm not sure he tried python threads, that may be worth a shot.
It would also would be great if someone that actually understands this
stuff could look at his code and explain why the slowdown occurs (hint,
hint!)
-CHB
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker at noaa.gov
More information about the NumPy-Discussion
mailing list