[Numpy-discussion] Fwd: GPU Numpy

Christopher Barker Chris.Barker@noaa....
Tue Sep 8 16:21:53 CDT 2009

George Dahl wrote:
> Sturla Molden <sturla <at> molden.no> writes:
>> Teraflops peak performance of modern GPUs is impressive. But NumPy 
>> cannot easily benefit from that. 

> I know that for my work, I can get around an order of a 50-fold speedup over
> numpy using a python wrapper for a simple GPU matrix class.

I think you're talking across each other here. Sturla is referring to 
making a numpy ndarray gpu-aware and then expecting expressions like:

z = a*x**2 + b*x + c

to go faster when s, b, c, and x are ndarrays.

That's not going to happen.

On the other hand, George is talking about moving higher-level 
operations (like a matrix product) over to GPU code. This is analogous 
to numpy.linalg and numpy.dot() using LAPACK routines, and yes, that 
could help those programs that use such operations.

So a GPU LAPACK would be nice.

This is also analogous to using SWIG, or ctypes or cython or weave, or 
??? to move a computationally expensive part of the code over to C.

I think anything that makes it easier to write little bits of your code 
for the GPU would be pretty cool -- a GPU-aware Cython?

Also, perhaps a GPU-aware numexpr could be helpful which I think is the 
kind of thing that Sturla was refering to when she wrote:

"Incidentally,  this will  also make it easier to leverage on modern GPUs."


Christopher Barker, Ph.D.

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


More information about the NumPy-Discussion mailing list