Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
BLD: Allow users to specify BLAS and LAPACK library link order #13132
Prior to this enhancement compiling numpy would forcefully check BLAS/LAPACK
This is problematic if a user want to build using, say, OpenBLAS but MKL is installed.
The same applies to OpenBLAS vs. ATLAS etc.
Especially for developers this may be desirable to check performance with various
This fixes the above issues by enabling users to forcefully set the order of loads
$> export NUMPY_BLAS_ORDER=openblas,mkl,atlas
would first try OpenBLAS (if existing), then MKL, and finally ATLAS.
The same applies to:
This has meant that the
Effectively there is only ONE change:
A fall-back of LAPACK was previously using
I would be happy to create a test, but it seems extremely build specific and probably difficult in a testing environment?
Do you have a CI just for testing
Also, sorry I created a commit with
We can also do
Yeah, it's not really testable on CI. If it passes our existing CI (which uses OpenBLAS and
There's a few things in
No worries. It is ENH anyway arguably, it's a distutils enhancement.
Only if MKL is not installed.
Agreed, it is probably more meant as a developer thing. And it would also be way easier to have system installed BLAS/LAPACK versions and letting users control this without complicated mixtures of
This PR tries to streamline this in a unified way. A second benefit is that the
changed the title
BLD: allowed external users to select BLAS and LAPACK library link order
Mar 16, 2019
@rgommers regarding the
Also do you prefer
I don't have strong feelings on that one either way. However, does it make sense for it to be a single value given that we already have
Yes and no, if people want the control its main usage will probably be single value uses. Only in special cases can I see that users want to use it multi-value.
You'll also note I have amended the build documentation a bit which I think clarifies its use.