-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplification of libblastrampoline stuff in LinearAlgebra #44360
Conversation
I think this makes sense, overall. It's probably worth a NEWS.md entry to state that we're now wholly reliant upon LBT, and that we straight up don't support building against any other BLAS/LAPACK library, and that any other usage should be done through LBT configuration at runtime. |
How do you feel about removing blas and LAPACK from build_h.jl altogether? |
Yeah, I think that's the right thing to do. Those values are easily made into lies. |
@staticfloat Any thoughts on why this PR might cause the
|
This is good to merge. |
@staticfloat How do you feel about also removing |
Sure, seems fine to me. A quick code search doesn't reveal too many uses: https://juliahub.com/ui/Search?q=BLAS.vendor%28%29&type=code |
This broke a lot of the package ecosystem. |
Fixes are incoming. I'll be happy to sort them all out over the next couple of days. |
These are the packages that need updating: Those calling BLAS: https://juliahub.com/ui/Search?q=libblas_name&type=code |
…#44360) * Report libblastrampoline as Base.libblas_name and Base.liblapack_name * Cleanup a lot of the LBT stuff * Fix * Remove test for LinearAlgebra.LAPACK.liblapack * Fix * Fix the precompile tests
* Report libblastrampoline as Base.libblas_name and Base.liblapack_name * Cleanup a lot of the LBT stuff * Fix * Remove test for LinearAlgebra.LAPACK.liblapack * Fix * Fix the precompile tests (cherry picked from commit e84b06c)
…#44360) * Report libblastrampoline as Base.libblas_name and Base.liblapack_name * Cleanup a lot of the LBT stuff * Fix * Remove test for LinearAlgebra.LAPACK.liblapack * Fix * Fix the precompile tests
For reference, this broke Pardiso.jl on mac, JuliaSparse/Pardiso.jl#90 |
We traditionally hardcode
libblas_name
andliblapack_name
into the system image. These do not get updated, even when you use an alternate set of libraries through MKL.jl.build_h.jl
was reporting different names than what was in the BLAS and LAPACK modules in LinearAlgebra.Now that we use LBT, it is best to mention
libblastrampoline
as the provider of these libraries. This revealed a lot of old code that could be simplified and cleaned up.Perhaps we can remove these things altogether from build_h.jl, since these are no longer build time choices, but runtime ones.
Also undo the compatibility symbols added in #39845 - since the new APIs now have been around for a while.
cc @staticfloat