Skip to content

Commit 520fbe5

Browse files
authored
Disable use of older MKL_jll versions (#781)
1 parent 547db8a commit 520fbe5

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

Project.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "LinearSolve"
22
uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
33
authors = ["SciML"]
4-
version = "3.40.0"
4+
version = "3.40.1"
55

66
[deps]
77
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
@@ -108,6 +108,7 @@ LAPACK_jll = "3"
108108
LazyArrays = "2.3"
109109
Libdl = "1.10"
110110
LinearAlgebra = "1.10"
111+
MKL_jll = "2019, 2020, 2021, 2022, 2023, 2024, 2025"
111112
MPI = "0.20"
112113
Markdown = "1.10"
113114
Metal = "1.4"

src/LinearSolve.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,11 @@ const CRC = ChainRulesCore
4949
@static if Sys.ARCH === :x86_64 || Sys.ARCH === :i686
5050
if Preferences.@load_preference("LoadMKL_JLL",
5151
!occursin("EPYC", Sys.cpu_info()[1].model))
52+
# MKL_jll < 2022.2 doesn't support the mixed LP64 and ILP64 interfaces that we make use of in LinearSolve
53+
# In particular, the `_64` APIs do not exist
54+
# https://www.intel.com/content/www/us/en/developer/articles/release-notes/onemkl-release-notes-2022.html
5255
using MKL_jll
53-
const usemkl = MKL_jll.is_available()
56+
const usemkl = MKL_jll.is_available() && pkgversion(MKL_jll) >= v"2022.2"
5457
else
5558
const usemkl = false
5659
end

src/mkl.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ struct MKLLUFactorization <: AbstractFactorization end
1212
@static if !@isdefined(MKL_jll)
1313
__mkl_isavailable() = false
1414
else
15-
__mkl_isavailable() = MKL_jll.is_available()
15+
# MKL_jll < 2022.2 doesn't support the mixed LP64 and ILP64 interfaces that we make use of in LinearSolve
16+
# In particular, the `_64` APIs do not exist
17+
# https://www.intel.com/content/www/us/en/developer/articles/release-notes/onemkl-release-notes-2022.html
18+
__mkl_isavailable() = MKL_jll.is_available() && pkgversion(MKL_jll) >= v"2022.2"
1619
end
1720

1821
function getrf!(A::AbstractMatrix{<:ComplexF64};

0 commit comments

Comments
 (0)