[Numpy-discussion] Windows, blas, atlas and dlls

Dag Sverre Seljebotn d.s.seljebotn@astro.uio...
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
> scipy.

You could also look into OpenBLAS, which is easier to build and 
generally faster than ATLAS. (But alas, not supported by NumPy/SciPY AFAIK.)

Dag Sverre


More information about the NumPy-Discussion mailing list