Skip to content
Snippets Groups Projects
Unverified Commit 3fde0fc9 authored by Tim Kaune's avatar Tim Kaune
Browse files

Add the new LAPACK v3.11.0 interface coming with MacOS 15 Sequoia

parent 66f23d38
Branches
Tags
No related merge requests found
......@@ -29,7 +29,7 @@ set(CMAKE_MAXIMUM_SUPPORTED_VERSION 3.29)
include("./cmake/HandlePolicies.cmake" NO_POLICY_SCOPE)
project(AccelerateLAPACKE VERSION 1.0.0 LANGUAGES C)
project(AccelerateLAPACKE VERSION 1.1.0 LANGUAGES C)
include(FetchContent)
......@@ -40,8 +40,11 @@ if (NOT IS_TOP_LEVEL)
endif ()
if (CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin")
# Mac OS X 15.0 Sequoia
if (CMAKE_HOST_SYSTEM_VERSION VERSION_GREATER_EQUAL 24.0)
set(ACCELERATE_NEW_LAPACK_VERSION 3.11.0)
# Mac OS X 13.3 Ventura
if (CMAKE_HOST_SYSTEM_VERSION VERSION_GREATER_EQUAL 22.4)
elseif (CMAKE_HOST_SYSTEM_VERSION VERSION_GREATER_EQUAL 22.4)
set(ACCELERATE_NEW_LAPACK_VERSION 3.9.1)
else ()
message(FATAL_ERROR "You need at least Mac OS X 13.3 Ventura for Accelerate with BLAS/LAPACK v3.9.1!")
......
......@@ -25,16 +25,24 @@ SOFTWARE.
# Accelerate LAPACKE #
Since Mac OS X 13.3 Ventura, Apple's Accelerate framework comes with a new
Since MacOS 13.3 Ventura, Apple's Accelerate framework comes with a new
[BLAS/LAPACK
interface](https://developer.apple.com/documentation/accelerate/blas) compatible
with [Reference LAPACK
v3.9.1](https://github.com/Reference-LAPACK/lapack/tree/v3.9.1). It also
v3.9.1](https://github.com/Reference-LAPACK/lapack/releases/tag/v3.9.1). It also
provides an ILP64 interface. On Apple Silicon M-processors, it utilises the
[proprietary AMX co-processor](https://github.com/corsix/amx), which makes it
especially interesting. Unfortunately, it comes without the LAPACKE C-interface
library.
**Update**: With the release of MacOS 15.0 Sequoia, Apple updated the Accelerate
framework to be compatible with [Reference LAPACK
v3.11.0](https://github.com/Reference-LAPACK/lapack/releases/tag/v3.11.0).
Unfortunately, there is no mention of it in the [MacOS 15.0 Sequoia Release
Notes](), but the note in the [Accelerate BLAS
docs](https://developer.apple.com/documentation/accelerate/blas) has been
updated accordingly.
These new interfaces are hidden behind the preprocessor defines
`ACCELERATE_NEW_LAPACK` and `ACCELERATE_LAPACK_ILP64` and they only work, if you
include the Accelerate C/C++ headers.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment