Thanks to Ian Henriksen, a new Cython API for BLAS and LAPACK is finally
merged in SciPy. It will be included in the next release. 

This makes it possible to use SciPy's BLAS and LAPACK from any 3rd party
Cython module without explicitely linking with the libraries. This means
that projects like scikit-learn and statsmodels do not need to maintain a
separate build dependency on BLAS and LAPACK. All we need to do is:

cimport scipy.linalg.cython_blas as blas
cimport scipy.linalg.cython_lapack as lapack

Now we can call blas.zgemm(...), lapack.dgelss(...), etc. 

All of BLAS and almost all of LAPACK is exposed. The new Cython API is much
more comprehensive than the current Python interfaces because it does not
depend on the f2py wrappers.

The Cython API can also (with some extra effort) be used from C (ans C++ or
Fortran) if Cython is used to generate the Python to C interface. In this
case you need to fill in some global function pointers when the module is
imported and call these from C.

A Cython module using these interfaces will have a build dependency on
NumPy (i.e. similar to cimport numpy).

https://github.com/scipy/scipy/pull/4021


Sturla


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

Reply via email to