From 9151d2cfe8ddc6fd18e07b18ff3e722d4ec73e53 Mon Sep 17 00:00:00 2001 From: "Viral B. Shah" Date: Tue, 14 May 2024 13:31:57 +0000 Subject: [PATCH 1/3] Remove manual mapping of non-suffixed APIs, which is fixed in MKL 2024.1 Discussion in https://github.com/JuliaLinearAlgebra/MKL.jl/pull/140 --- Project.toml | 4 ++-- src/MKL.jl | 33 ++------------------------------- 2 files changed, 4 insertions(+), 33 deletions(-) diff --git a/Project.toml b/Project.toml index 7ddf2b9..a7c2951 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "MKL" uuid = "33e6dc65-8f57-5167-99aa-e5a354878fb2" -version = "0.6.3" +version = "0.6.4" [deps] Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" @@ -12,7 +12,7 @@ Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" [compat] julia = "1.8" Artifacts = "1" -MKL_jll = "2022, 2023.2, 2024" +MKL_jll = "2024.1" [extras] Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" diff --git a/src/MKL.jl b/src/MKL.jl index 69dab71..ccbc8dc 100644 --- a/src/MKL.jl +++ b/src/MKL.jl @@ -40,44 +40,15 @@ function lbt_forward_to_mkl() return end - # MKL 2022 and onwards have 64_ for ILP64 suffixes. The LP64 interface + # MKL 2024.1 and onwards have 64_ for ILP64 suffixes. The LP64 interface # includes LP64 APIs for the non-suffixed symbols and ILP64 API for the # 64_ suffixed symbols. LBT4 in Julia is necessary for this to work. set_interface_layer(Base.USE_BLAS64 ? INTERFACE_ILP64 : INTERFACE_LP64) if Base.USE_BLAS64 # Load ILP64 forwards BLAS.lbt_forward(libmkl_rt; clear=true, suffix_hint="64") - # Load LP64 forward + # Load LP64 forwards BLAS.lbt_forward(libmkl_rt; suffix_hint="") - - # Some BLAS/LAPACK functions that don't have integers in their API aren't exported - # from libmkl_rt with the 64 suffix, and instead we must map the ILP64 to the - # non-suffixed variants - for f in (:dlartgp_, :slartgp_, - :dlartgs_, :slartgs_, - :disnan_, :sisnan_, - :dlabad_, :slabad_, - :dladiv_, :sladiv_, - :dlae2_, :slae2_, - :dlaev2_, :slaev2_, - :dlaisnan_, :slaisnan_, - :dlamch_, :slamch_, - :dlamc3_, :slamc3_, - :dlanv2_, :slanv2_, - :dlapy2_, :slapy2_, - :dlapy3_, :slapy3_, - :dlartg_, :slartg_, - :dlas2_, :slas2_, - :dsecnd_, :second_, - :dlasv2_, :slasv2_, - :iladiag_, - :ilaprec_, - :ilatrans_, - :ilauplo_, - ) - fptr = BLAS.lbt_get_forward(f, BLAS.LBT_INTERFACE_LP64) - BLAS.lbt_set_forward(f, fptr, BLAS.LBT_INTERFACE_ILP64) - end else BLAS.lbt_forward(libmkl_rt; clear=true, suffix_hint="") end From 9ee401d73b7076ee2052a7392f48d12212a86d0a Mon Sep 17 00:00:00 2001 From: "Viral B. Shah" Date: Tue, 14 May 2024 13:31:57 +0000 Subject: [PATCH 2/3] Remove manual mapping of non-suffixed APIs, which is fixed in MKL 2024.1 Discussion in https://github.com/JuliaLinearAlgebra/MKL.jl/pull/140 --- Project.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index a7c2951..137b463 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "MKL" uuid = "33e6dc65-8f57-5167-99aa-e5a354878fb2" -version = "0.6.4" +version = "0.7.0" [deps] Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" @@ -10,7 +10,7 @@ MKL_jll = "856f044c-d86e-5d09-b602-aeab76dc8ba7" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" [compat] -julia = "1.8" +julia = "1.9" Artifacts = "1" MKL_jll = "2024.1" From aa733874bfa6784d3498e6dd4a3f253e8041fb49 Mon Sep 17 00:00:00 2001 From: "Viral B. Shah" Date: Tue, 14 May 2024 14:10:38 +0000 Subject: [PATCH 3/3] Macs no longer supported --- .github/workflows/ci.yml | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8adeab5..ce72462 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,25 +19,12 @@ jobs: os: - ubuntu-latest - windows-latest - - macOS-13 # intel - - macOS-14 # arm arch: - x64 - - x86 - - aarch64 - exclude: - - os: ubuntu-latest - arch: aarch64 - - os: windows-latest - arch: aarch64 - - os: macOS-13 - arch: x86 - - os: macOS-13 - arch: aarch64 + - x86 + include: - os: macOS-14 - arch: x86 - - os: macOS-14 - arch: x64 + arch: aarch64 steps: - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v2