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

V. Armando Sole sole at esrf.fr
Tue Feb 19 01:05:20 EST 2013



On 18.02.2013 22:47, Pauli Virtanen wrote:
> 18.02.2013 23:29, V. Armando Sole kirjoitti:
> [clip]
>> I find Dag's approach more appealing.
>>
>> SciPy can be problematic (windows 64-bit) and if one could offer 
>> access
>> to the linear algebra functions without needing SciPy I would 
>> certainly
>> prefer it.
>
> Well, the two approaches are not exclusive. Moreover, there already
> exist Cython wrappers for BLAS that you can just take and use.
>

Please correct me if I am wrong.

I assume those wrappers force you to provide the shared libraries so 
the problem is still there. If not, I would really be interested on 
getting one of those wrappers :-)

It is really nice to provide extensions receiving the pointer to the 
function to be used even under Linux: the extension does not need to be 
compiled each time the user changes/updates shared libraries. It is 
really nice to find your C extension is slow, you find ATLAS is not 
installed, you install it and your extension becomes very fast without 
needing to recompile.

> Windows 64-bit is probably problematic for everyone who wants to 
> provide
> binaries --- I don't think there's a big difference in difficulty in
> making binaries for a light Cython wrapper to BLAS/LAPACK vs. 
> providing
> the whole of Scipy :)

I have an Intel Fortran compiler license just to be able to provide 
windows 64-bit frozen binaries and extension modules :-) but that is not 
enough:

- If provide the MKL dll's a person willing to re-distribute the module 
also needs an MKL license
- If I do not provide the MKL dll's the extension module is useless

For the time being the best solution I have found is to use pointers to 
the wrapped functions in SciPy: the extension module use whatever 
library installed on the target system and I do not need to provide the 
shared libraries. It is just a pity that having the libraries in numpy, 
one cannot access them while one can do it in SciPy. Therefore I found 
Dag's approach quite nice: numpy and SciPy using the linear algebra 
functions via a third package providing all the needed pointers (or at 
least having that package available in first instance).

Best regards,

Armando




More information about the NumPy-Discussion mailing list