diff --git a/Project.toml b/Project.toml index 9f34fd610..76192c7e5 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "LinearSolve" uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" authors = ["SciML"] -version = "3.12.0" +version = "3.12.1" [deps] ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" @@ -93,6 +93,7 @@ KrylovPreconditioners = "0.3" LazyArrays = "1.8, 2" Libdl = "1.10" LinearAlgebra = "1.10" +MKL_jll = "2019, 2020, 2021, 2022, 2023, 2024, 2025" MPI = "0.20" Markdown = "1.10" Metal = "1" diff --git a/src/LinearSolve.jl b/src/LinearSolve.jl index af2d94eb4..0b1241269 100644 --- a/src/LinearSolve.jl +++ b/src/LinearSolve.jl @@ -42,8 +42,11 @@ const CRC = ChainRulesCore @static if Sys.ARCH === :x86_64 || Sys.ARCH === :i686 if Preferences.@load_preference("LoadMKL_JLL", !occursin("EPYC", Sys.cpu_info()[1].model)) + # MKL_jll < 2022.2 doesn't support the mixed LP64 and ILP64 interfaces that we make use of in LinearSolve + # In particular, the `_64` APIs do not exist + # https://www.intel.com/content/www/us/en/developer/articles/release-notes/onemkl-release-notes-2022.html using MKL_jll - const usemkl = MKL_jll.is_available() + const usemkl = MKL_jll.is_available() && pkgversion(MKL_jll) >= v"2022.2" else const usemkl = false end