JuliaLinearAlgebra / MKL.jl

Intel MKL linear algebra backend for Julia
Other
208 stars 32 forks source link

Failing mac tests on MKL 2023.2 #129

Closed ViralBShah closed 8 months ago

ViralBShah commented 1 year ago

These are from https://github.com/JuliaLinearAlgebra/MKL.jl/actions/runs/5786517472/job/15681397514. Seen in #123

Just capturing here for the record, since this used to pass in earlier releases. Intel macs are naturally going to be rarer going forward.

/Users/runner/hostedtoolcache/julia/nightly/x64/share/julia/stdlib/v1.11/LinearAlgebra/test/hessenberg.jl:165
  Expression: q == H.Q
   Evaluated: LinearAlgebra.HessenbergQ{Float32, Matrix{Float32}, Vector{Float32}, false}('L', Float32[0.48528904 -1.0014808 … -0.030307978 -0.7633109; 2.0425682 -0.28568208 … -0.20587763 -0.37802437; … ; -0.2754056 0.12644324 … 0.32685924 -0.2837724; -0.084571004 -0.31725183 … -0.57449377 -1.1771917f-5], Float32[1.0812894, 1.7130128, 1.5992601, 1.2750033, 1.1304448, 1.7385159, 1.0735561, 1.8609964, 0.0]) == LinearAlgebra.HessenbergQ{Float32, Matrix{Float32}, Vector{Float32}, false}('L', Float32[0.48528904 -1.0014808 … -0.030307978 -0.7633109; 2.0425682 -0.28568208 … -0.20587763 -0.37802437; … ; -0.2754056 0.12644324 … 0.32685924 -0.2837724; -0.084571004 -0.31725183 … -0.57449377 -1.1771917f-5], Float32[1.0812894, 1.7130128, 1.5992601, 1.2750033, 1.1304448, 1.7385159, 1.0735561, 1.8609964, 0.0])

Error in testset LinearAlgebra/svd:
Test Failed at /Users/runner/hostedtoolcache/julia/nightly/x64/share/julia/stdlib/v1.11/LinearAlgebra/test/svd.jl:117
  Expression: u ≈ gsvd.U
   Evaluated: Float32[0.0 -5.5879354f-8 … -0.78393424 -0.1339644; 1.6134875f-8 -1.1920929f-7 … 0.07970633 -0.93217427; … ; 0.55903894 -0.037819117 … -4.4390035f-7 3.8400958f-7; -0.22140986 -0.1461803 … -3.878961f-8 3.624045f-7] ≈ Float32[0.0 -7.8231096f-8 … -0.71554583 -0.18624169; -1.936185f-8 -2.3841858f-7 … 0.06873807 -0.94687545; … ; 0.55903894 -0.0378191 … -3.9292095f-7 7.9845444f-7; -0.22140986 -0.1461803 … -4.2606607f-9 4.406664f-7]

Error in testset LinearAlgebra/svd:
Test Failed at /Users/runner/hostedtoolcache/julia/nightly/x64/share/julia/stdlib/v1.11/LinearAlgebra/test/svd.jl:118
  Expression: v ≈ gsvd.V
   Evaluated: Float32[-0.5393368 -0.14115341 … -0.7839343 -0.13396433; 0.23523282 -0.2245052 … 0.07970638 -0.932174; … ; -0.019161066 0.9574704 … -0.1[295](https://github.com/JuliaLinearAlgebra/MKL.jl/actions/runs/5786517472/job/15681397514#step:6:298)833 -0.25313902; -0.3636371 -0.09861331 … 0.027349059 -0.19924322] ≈ Float32[-0.5574541 0.008056489 … -0.71554583 -0.18624157; 0.16584313 -0.25239503 … 0.068738 -0.9468756; … ; 0.18809628 0.952571 … -0.07684289 -0.2265478; -0.35131583 0.051241323 … -0.20512289 -0.00669[296](https://github.com/JuliaLinearAlgebra/MKL.jl/actions/runs/5786517472/job/15681397514#step:6:299)4]

Error in testset LinearAlgebra/svd:
Test Failed at /Users/runner/hostedtoolcache/julia/nightly/x64/share/julia/stdlib/v1.11/LinearAlgebra/test/svd.jl:121
  Expression: q ≈ gsvd.Q
   Evaluated: Float32[0.029677186 -0.18556467 … -0.18176904 -0.079[302](https://github.com/JuliaLinearAlgebra/MKL.jl/actions/runs/5786517472/job/15681397514#step:6:305)154; 0.12394619 0.0710909 … 0.3533966 0.328963; … ; -0.3672375 0.38706842 … -0.30962652 0.020778175; 0.0946717 0.3736041 … -0.026582863 0.56813794] ≈ Float32[0.029677186 -0.18556467 … -0.09815004 -0.18364623; 0.12394619 0.0710909 … 0.45068854 0.25402257; … ; -0.3672375 0.38706842 … -0.37208557 0.27888396; 0.0946717 0.3736041 … 0.04549404 0.47158355]

Error in testset LinearAlgebra/lapack:
Test Failed at /Users/runner/hostedtoolcache/julia/nightly/x64/share/julia/stdlib/v1.11/LinearAlgebra/test/lapack.jl:216
  Expression: norm(diff(Avs ./ Bvs, dims = 1)) < 100 * eps(abs(float(one(elty))))
   Evaluated: 0.00022558474f0 < 1.1920929f-5

ERROR: LoadError: Test run finished with errors
in expression starting at /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/jl_9Ftkhw/runtests.jl:95
ERROR: LoadError: failed process: Process(`/Users/runner/hostedtoolcache/julia/nightly/x64/bin/julia -Cnative -J/Users/runner/hostedtoolcache/julia/nightly/x64/lib/julia/sys.dylib --depwarn=yes --check-bounds=yes -g1 --code-coverage=@/Users/runner/work/MKL.jl/MKL.jl --color=yes --startup-file=no --pkgimages=no --project=/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/jl_84EKRD/Project.toml /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/jl_9Ftkhw/runtests.jl LinearAlgebra`, ProcessExited(1)) [1]
bjarthur commented 1 year ago

tests fail for me on apple silicon too:

% julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.9.3 (2023-08-24)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(@v1.9) pkg> activate --temp
  Activating new project at `/var/folders/s5/8d629n5d7nsf37f60_91wzr40000gq/T/jl_oTgVbU`

(jl_oTgVbU) pkg> add MKL
   Resolving package versions...
   Installed MKL ─ v0.6.1
    Updating `/private/var/folders/s5/8d629n5d7nsf37f60_91wzr40000gq/T/jl_oTgVbU/Project.toml`
  [33e6dc65] + MKL v0.6.1
    Updating `/private/var/folders/s5/8d629n5d7nsf37f60_91wzr40000gq/T/jl_oTgVbU/Manifest.toml`
  [692b3bcd] + JLLWrappers v1.5.0
  [33e6dc65] + MKL v0.6.1
  [21216c6a] + Preferences v1.4.1
  [1d5cc7b8] + IntelOpenMP_jll v2023.2.0+0
  [856f044c] + MKL_jll v2023.2.0+0
  [0dad84c5] + ArgTools v1.1.1
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [f43a241f] + Downloads v1.6.0
  [7b1f6079] + FileWatching
  [b77e0a4c] + InteractiveUtils
  [4af54fe1] + LazyArtifacts
  [b27032c2] + LibCURL v0.6.3
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [ca575930] + NetworkOptions v1.2.0
  [44cfe95a] + Pkg v1.9.2
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA v0.7.0
  [9e88b42a] + Serialization
  [6462fe0b] + Sockets
  [fa267f1f] + TOML v1.0.3
  [a4e569a6] + Tar v1.10.0
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [e66e0078] + CompilerSupportLibraries_jll v1.0.5+0
  [deac9b47] + LibCURL_jll v7.84.0+0
  [29816b5a] + LibSSH2_jll v1.10.2+0
  [c8ffd9c3] + MbedTLS_jll v2.28.2+0
  [14a3606d] + MozillaCACerts_jll v2022.10.11
  [4536629a] + OpenBLAS_jll v0.3.21+4
  [83775a58] + Zlib_jll v1.2.13+0
  [8e850b90] + libblastrampoline_jll v5.8.0+0
  [8e850ede] + nghttp2_jll v1.48.0+0
  [3f19e933] + p7zip_jll v17.4.0+0
Precompiling project...
  1 dependency successfully precompiled in 1 seconds. 8 already precompiled.

(jl_oTgVbU) pkg> precompile

julia> using MKL

(jl_oTgVbU) pkg> st
Status `/private/var/folders/s5/8d629n5d7nsf37f60_91wzr40000gq/T/jl_oTgVbU/Project.toml`
  [33e6dc65] MKL v0.6.1

(jl_oTgVbU) pkg> test MKL
     Testing MKL
      Status `/private/var/folders/s5/8d629n5d7nsf37f60_91wzr40000gq/T/jl_JZtIe9/Project.toml`
  [33e6dc65] MKL v0.6.1
  [276daf66] SpecialFunctions v2.3.1
  [856f044c] MKL_jll v2023.2.0+0
  [56f22d72] Artifacts `@stdlib/Artifacts`
  [ade2ca70] Dates `@stdlib/Dates`
  [8ba89e20] Distributed `@stdlib/Distributed`
  [8f399da3] Libdl `@stdlib/Libdl`
  [37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
  [de0858da] Printf `@stdlib/Printf`
  [3fa0cd96] REPL `@stdlib/REPL`
  [9a3f8284] Random `@stdlib/Random`
  [6462fe0b] Sockets `@stdlib/Sockets`
  [2f01184e] SparseArrays `@stdlib/SparseArrays`
  [8dfed614] Test `@stdlib/Test`
      Status `/private/var/folders/s5/8d629n5d7nsf37f60_91wzr40000gq/T/jl_JZtIe9/Manifest.toml`
  [ffbed154] DocStringExtensions v0.9.3
  [92d709cd] IrrationalConstants v0.2.2
  [692b3bcd] JLLWrappers v1.5.0
  [2ab3a3ac] LogExpFunctions v0.3.26
  [33e6dc65] MKL v0.6.1
  [21216c6a] Preferences v1.4.1
  [276daf66] SpecialFunctions v2.3.1
  [1d5cc7b8] IntelOpenMP_jll v2023.2.0+0
  [856f044c] MKL_jll v2023.2.0+0
  [efe28fd5] OpenSpecFun_jll v0.5.5+0
  [0dad84c5] ArgTools v1.1.1 `@stdlib/ArgTools`
  [56f22d72] Artifacts `@stdlib/Artifacts`
  [2a0f44e3] Base64 `@stdlib/Base64`
  [ade2ca70] Dates `@stdlib/Dates`
  [8ba89e20] Distributed `@stdlib/Distributed`
  [f43a241f] Downloads v1.6.0 `@stdlib/Downloads`
  [7b1f6079] FileWatching `@stdlib/FileWatching`
  [b77e0a4c] InteractiveUtils `@stdlib/InteractiveUtils`
  [4af54fe1] LazyArtifacts `@stdlib/LazyArtifacts`
  [b27032c2] LibCURL v0.6.3 `@stdlib/LibCURL`
  [76f85450] LibGit2 `@stdlib/LibGit2`
  [8f399da3] Libdl `@stdlib/Libdl`
  [37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
  [56ddb016] Logging `@stdlib/Logging`
  [d6f4376e] Markdown `@stdlib/Markdown`
  [ca575930] NetworkOptions v1.2.0 `@stdlib/NetworkOptions`
  [44cfe95a] Pkg v1.9.2 `@stdlib/Pkg`
  [de0858da] Printf `@stdlib/Printf`
  [3fa0cd96] REPL `@stdlib/REPL`
  [9a3f8284] Random `@stdlib/Random`
  [ea8e919c] SHA v0.7.0 `@stdlib/SHA`
  [9e88b42a] Serialization `@stdlib/Serialization`
  [6462fe0b] Sockets `@stdlib/Sockets`
  [2f01184e] SparseArrays `@stdlib/SparseArrays`
  [fa267f1f] TOML v1.0.3 `@stdlib/TOML`
  [a4e569a6] Tar v1.10.0 `@stdlib/Tar`
  [8dfed614] Test `@stdlib/Test`
  [cf7118a7] UUIDs `@stdlib/UUIDs`
  [4ec0a83e] Unicode `@stdlib/Unicode`
  [e66e0078] CompilerSupportLibraries_jll v1.0.5+0 `@stdlib/CompilerSupportLibraries_jll`
  [deac9b47] LibCURL_jll v7.84.0+0 `@stdlib/LibCURL_jll`
  [29816b5a] LibSSH2_jll v1.10.2+0 `@stdlib/LibSSH2_jll`
  [c8ffd9c3] MbedTLS_jll v2.28.2+0 `@stdlib/MbedTLS_jll`
  [14a3606d] MozillaCACerts_jll v2022.10.11 `@stdlib/MozillaCACerts_jll`
  [4536629a] OpenBLAS_jll v0.3.21+4 `@stdlib/OpenBLAS_jll`
  [05823500] OpenLibm_jll v0.8.1+0 `@stdlib/OpenLibm_jll`
  [bea87d4a] SuiteSparse_jll v5.10.1+6 `@stdlib/SuiteSparse_jll`
  [83775a58] Zlib_jll v1.2.13+0 `@stdlib/Zlib_jll`
  [8e850b90] libblastrampoline_jll v5.8.0+0 `@stdlib/libblastrampoline_jll`
  [8e850ede] nghttp2_jll v1.48.0+0 `@stdlib/nghttp2_jll`
  [3f19e933] p7zip_jll v17.4.0+0 `@stdlib/p7zip_jll`
Precompiling project...
  1 dependency successfully precompiled in 1 seconds. 15 already precompiled.
     Testing Running tests...
LinearAlgebra.BLAS.get_config() = LBTConfig([ILP64] libopenblas64_.dylib)
Sanity Tests: Error During Test at /Users/arthurb/.julia/packages/MKL/BHVVg/test/runtests.jl:15
  Test threw exception
  Expression: ((LinearAlgebra.BLAS.get_config()).loaded_libs[1]).libname == libmkl_rt
  UndefVarError: `libmkl_rt` not defined
  Stacktrace:
   [1] macro expansion
     @ ~/.julia/juliaup/julia-1.9.3+0.aarch64.apple.darwin14/share/julia/stdlib/v1.9/Test/src/Test.jl:478 [inlined]
   [2] macro expansion
     @ ~/.julia/packages/MKL/BHVVg/test/runtests.jl:15 [inlined]
   [3] macro expansion
     @ ~/.julia/juliaup/julia-1.9.3+0.aarch64.apple.darwin14/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [4] top-level scope
     @ ~/.julia/packages/MKL/BHVVg/test/runtests.jl:15
Test Summary: | Pass  Error  Total  Time
Sanity Tests  |    1      1      2  1.0s
ERROR: LoadError: Some tests did not pass: 1 passed, 0 failed, 1 errored, 0 broken.
in expression starting at /Users/arthurb/.julia/packages/MKL/BHVVg/test/runtests.jl:14
ERROR: Package MKL errored during testing

(jl_oTgVbU) pkg> 
giordano commented 1 year ago

That's a different problem: Intel doesn't provide MKL for your platform at all.

bjarthur commented 1 year ago

doh, right. would it make sense to exit immediately at the top of runtests.jl in that case?

ViralBShah commented 1 year ago

Probably we should have an arch check function, which can be called in init() and print a warning, and which can also be checked from the tests for early exit.

On AMD, we may want to print a warning and proceed, where as on non-x86, a warning and exit.

ViralBShah commented 8 months ago

This is an upstream issue with Intel, and we are unlikely to be able to do much. Documented in the README.