Closed mcabbott closed 4 years ago
I can't seem to install this on Julia 1.4 or nightly, dev or add leads me to it freezing when I ask it to calculate anything:
You can install it, it just hangs when you call a function. I can repro, and it seems like this happens on 1.4 but not 1.3?
Here is an MWE that hangs for me:
using MKL_jll
gamma1(x) = (x = copy(x); ccall((:vdTGamma, libmkl_rt), Cvoid, (Int32, Ptr{Float64}, Ptr{Float64}), length(x), x, x); x);
gamma1([1.0, 2.0])
You can install it, it just hangs when you call a function.
Yes, sorry, proofreading failure too. (Now fixed.)
Your example crashes immediately for me on 1.4, while mine freezes and needs to be ctrl-C-ed.
Can you try with 1.3? And with the nightly?
Your example also works on my 1.3 (which has MKL.jl), and also fails on my 1.5. Both are MKL_jll v2020.0.166+0
. (1.5 is 1.5.0-DEV.585 (2020-04-07) Commit 16652a6655* (13 days old master)
with some packagecompiler-ing of plots & revise, but 1.4 is the default downloaded binary. Neither has MKL.jl.)
(@v1.5) pkg> st MKL_jll
Status `~/.julia/environments/v1.5/Project.toml`
856f044c MKL_jll v2020.0.166+0
julia> using MKL_jll
julia> gamma1(x) = (x = copy(x); ccall((:vdTGamma, libmkl_rt), Cvoid, (Int32, Ptr{Float64}, Ptr{Float64}), length(x), x, x); x);
julia> gamma1([1.0, 2.0])
^CKilled: 9
Okay thanks. So there has been some regression here in 1.3 to 1.4. I tried 1.4-RC2 and it seems to work there but it failed on 1.4.0.
I noticed that it works when I use my standard installation of MKL. So I looked at the difference between the libraries and there was one file that had a different hash: libmkl_intel_thread.dylib)
. When I copied that file from my local installation to the one MKL_jll uses it works.
So my conclusion is that the libmkl_intel_thread.dylib
that MKL_jll provides on mac is somehow failty.
Can you try run
pkg> add https://github.com/KristofferC/MKL_jll.jl
and try again?
OK, that appears to fix things on 1.4:
Resolving package versions...
Updating `~/.julia/environments/v1.4/Project.toml`
[856f044c] + MKL_jll v2020.0.166+1 #master (https://github.com/KristofferC/MKL_jll.jl)
Updating `~/.julia/environments/v1.4/Manifest.toml`
[1d5cc7b8] + IntelOpenMP_jll v2018.0.3+0
[856f044c] + MKL_jll v2020.0.166+1 #master (https://github.com/KristofferC/MKL_jll.jl)
julia> using MKL_jll
[ Info: Precompiling MKL_jll [856f044c-d86e-5d09-b602-aeab76dc8ba7]
Downloading artifact: MKL
Downloading artifact: MKL
julia> gamma1(x) = (x = copy(x); ccall((:vdTGamma, libmkl_rt), Cvoid, (Int32, Ptr{Float64}, Ptr{Float64}), length(x), x, x); x);
julia> gamma1([1.0, 2.0])
2-element Array{Float64,1}:
1.0
1.0
(@v1.4) pkg> add IntelVectorMath
Resolving package versions...
Updating `~/.julia/environments/v1.4/Project.toml`
[c8ce9da6] + IntelVectorMath v0.4.0
Updating `~/.julia/environments/v1.4/Manifest.toml`
[c8ce9da6] + IntelVectorMath v0.4.0
(@v1.4) pkg> build IntelVectorMath
julia> using IntelVectorMath
[ Info: Precompiling IntelVectorMath [c8ce9da6-5d36-5c03-b118-5a70151be7bc]
julia> IVM.exp(ones(3))
3-element Array{Float64,1}:
2.718281828459045
2.718281828459045
2.718281828459045
And on 1.5 too. Many thanks!
This was an issue for the last couple of months with the github actions CI for nightly, I mentioned it on the slack channel. Thanks for finding a fix @KristofferC
This should be fixed with the new release of MKL_jll. We should make sure we run CI on 1.4.
Great, can confirm that MKL_jll v2020.0.166+1
solves the problem here. Thanks again for figuring this stuff out!
Can you try run
pkg> add https://github.com/KristofferC/MKL_jll.jl
and try again?
it helps to fix on 1.6 on win10
I can't seem to make this work on Julia 1.4 or nightly,
dev
oradd
appears to install, but it freezes when I ask it to calculate anything:There seems to be no
/deps/build.log
file, and perhaps its failure to write here means something?I can install it on Julia 1.3, on which I have MKL.jl installed. I can try other combinations of versions & MKL but haven't yet. (My 1.4 is the official download.) However in the
deps/build.log
which I think belongs to the 1.3 version, there are a bunch of errors printed: