Skip to content
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

warning about BLAS.vendor being deprecated on Julia v1.7 #922

Closed
jishnub opened this issue Sep 17, 2021 · 5 comments
Closed

warning about BLAS.vendor being deprecated on Julia v1.7 #922

jishnub opened this issue Sep 17, 2021 · 5 comments

Comments

@jishnub
Copy link

jishnub commented Sep 17, 2021

I see the following warning on Julia 1.7 on using PyPlot (which seems to use PyCall internally):

┌ Warning: `vendor()` is deprecated, use `BLAS.get_config()` and inspect the output instead
│   caller = npyinitialize() at numpy.jl:67
└ @ PyCall ~/.julia/packages/PyCall/tqyST/src/numpy.jl:67
PyObject <matplotlib.legend.Legend object at 0x7f8a5b854e50>

Sorry I don't have a repro immediately as the warning doesn't tell me where in my code this is happening. However this is clearly arising because BLAS.vendor is deprecated.

@stevengj
Copy link
Member

stevengj commented Sep 17, 2021

This is from here:

if LinearAlgebra.BLAS.vendor() === :mkl &&

Hopefully, this warning can just be removed in Julia 1.7, since I think #443 may finally be fixed by @staticfloat's new libtrampoline magic?

@staticfloat
Copy link
Contributor

Mmm, it's unclear to me what the root cause of #443 is; is it that Julia configures MKL to be 64-bit and Numpy expects it to be 32-bit? If so, I guess someone needs to experiment with whether it's possible to load MKL as 32-bit and 64-bit at the same time with LBT.

@stevengj
Copy link
Member

stevengj commented Sep 18, 2021

is it that Julia configures MKL to be 64-bit and Numpy expects it to be 32-bit

Yes.

It's why we were bugging Intel about getting us an ILP64 version of MKL with prefixed symbols, as you'll recall. (Are we able to use that yet?)

@carstenbauer
Copy link
Contributor

Should we at least replace the BLAS.vendor() call with something like any(contains("mkl"), getfield.(BLAS.get_config().loaded_libs, :libname)) to avoid the deprecation message before this is checked / worked out more carefully?

@devmotion
Copy link

It would be good if the deprecation warning could be fixed (possibly as suggested by @carstenbauer) since the deprecation warnings break e.g. the doctests in PythonOT (JuliaOptimalTransport/PythonOT.jl#18).

dnadlinger added a commit to dnadlinger/PyCall.jl that referenced this issue Dec 23, 2021
Patch as suggested by Carsten Bauer in JuliaPy#922.

GitHub: Fixes JuliaPy#922.
@tkf tkf closed this as completed in 85a11cd Mar 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants