[Numpy-discussion] Objected-oriented SIMD API for Numpy

René Dudfield renesd at gmail.com
Wed Oct 21 12:19:02 EDT 2009


On Wed, Oct 21, 2009 at 2:14 PM, Pauli Virtanen <pav+sp at iki.fi<pav%2Bsp at iki.fi>
> wrote:

> Wed, 21 Oct 2009 14:47:02 +0200, Francesc Alted wrote:
> [clip]
> >> Do you have any interest in adding SIMD to some core numpy
> >> (transcendental functions). If so, I would try to go back to the
> >> problem of runtime SSE detection and loading of optimized shared
> >> library in a cross-platform way - that's something which should be done
> >> at some point in numpy, and people requiring it would be a good
> >> incentive.
> >
> > I don't personally have a lot of interest implementing this for numpy.
> > But in case anyone does, I find the next library:
> >
> > http://gruntthepeon.free.fr/ssemath/
> >
> > very interesting.  Perhaps there could be other (free)
> > implementations...
>
> Optimized transcendental functions could be interesting. For example for
> tanh, call overhead is overcome already for ~30-element arrays.
>
> Since these are ufuncs, I suppose the SSE implementations could just be
> put in a separate module, which is always compiled. Before importing the
> module, we could simply check from Python side that the CPU supports the
> necessary instructions. If everything is OK, the accelerated
> implementations would then just replace the Numpy routines.
>
> This type of project could probably also be started outside Numpy, and
> just monkey-patch the Numpy routines on import.
>
> --
> Pauli Virtanen
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>


Anyone seen the corepy numpy gsoc project?
    http://numcorepy.blogspot.com/

It implements a number of functions with the corepy runtime assembler.  The
project showed nice simd speedups for numpy.


I've been following the liborc project... which is a runtime assembler that
uses a generic assembly language and supports many different simd assembly
languages (eg SSE, MMX, ARM, Altivec).  It's the replacement for the liboil
library (used in gstreamer etc).
    http://code.entropywave.com/projects/orc/


cu!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20091021/800d3c18/attachment.html>


More information about the NumPy-Discussion mailing list