[Numpy-discussion] Windows, blas, atlas and dlls
Dag Sverre Seljebotn
Wed Feb 20 04:15:12 CST 2013
On 02/20/2013 10:18 AM, Sergio wrote:
> Dag Sverre Seljebotn <d.s.seljebotn <at> astro.uio.no> writes:
>> On 02/18/2013 05:26 PM, rif wrote:
>>> I have no answer to the question, but I was curious as to why directly
>>> calling the cblas would be 10x-20x slower in the first place. That
>>> seems surprising, although I'm just learning about python numerics.
>> The statement was that directly (on the Cython level) calling cblas is
>> 10x-20x slower than going through the (slow) SciPy wrapper routines.
>> That makes a lot of sense if the matrices are smalle nough.
>> Dag Sverre
> Soory for expressing myself badly.
> I need to call cblas directly from cython, because it is faster.
> I use matrix multiplication in a tight loop.
> Let the speed with the standard dot be 100,
> Speed using the scipy.linalg.blas routines is 200
> And speed calling directly atlas from cython is 2000
> Which is reasonable, since this avoids any type checking.
> The point is that I need to ship an extra atlas lib to do so in windows,
> notwithstanding the fact that numpy/scipy incorporate atlas in the windows build.
> I was wondering if there is a way to build numpy/scipy with atlas dynamically
> linked into it, in order to be able to share the atlas libs between my code and
You could also look into OpenBLAS, which is easier to build and
generally faster than ATLAS. (But alas, not supported by NumPy/SciPY AFAIK.)
More information about the NumPy-Discussion