[Numpy-discussion] Objected-oriented SIMD API for Numpy
Thu Oct 22 05:48:14 CDT 2009
2009/10/21 Neal Becker <email@example.com>
> > I once wrote a module that replaces the built in transcendental
> > functions of numpy by optimized versions from Intels vector math
> > library. If someone is interested, I can publish it. In my experience it
> > was of little use since real world problems are limited by memory
> > bandwidth. Therefore extending numexpr with optimized transcendental
> > functions was the better solution. Afterwards I discovered that I could
> > have saved the effort of the first approach since gcc is able to use
> > optimized functions from Intels vector math library or AMD's math core
> > library, see the doc's of -mveclibabi. You just need to recompile numpy
> > with proper compiler arguments.
> I'm interested. I'd like to try AMD rather than intel, because AMD is
> easier to obtain. I'm running on intel machine, I hope that doesn't matter
> too much.
> What exactly do I need to do?
I once tried to recompile numpy with AMD's AMCL. Unfortunately I lost the
settings after an upgrade. What I remember: install AMCL, (and read the docs
;-) ), mess with the compiler args (-mveclibabi and related), link with the
AMCL. Then you get faster pow/sin/cos/exp. The transcendental functions of
AMCL also work with Intel processors with the same performance. I did not
try the Intel SVML, which belongs to the Intel compilers.
This is different to the first approach, which is a small wrapper for Intels
VML, put into a python module and which can inject it's ufuncs (via
numpy.set_numeric_ops) into numpy. If you want I can send the package per
> I see that numpy/site.cfg has an MKL section. I'm assuming I should not
> touch that, but just mess with gcc flags?
This is for using the lapack provided by Intels MKL. These settings are not
related to the above mentioned compiler options.
> NumPy-Discussion mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion