Skip to content

Commit 52720d8

Browse files
committed
bump version, expose 2x2 feature matrix for mkl linkage
1 parent a41fc31 commit 52720d8

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

Cargo.toml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lapack-src"
3-
version = "0.12.0"
3+
version = "0.13.0"
44
edition = "2024"
55
license = "Apache-2.0 OR MIT"
66
authors = [
@@ -24,8 +24,10 @@ changelog = "CHANGELOG.md"
2424

2525
[features]
2626
accelerate = ["accelerate-src"]
27-
intel-mkl = ["intel-mkl-src/mkl-static-lp64-iomp"]
28-
intel-mkl-seq = ["intel-mkl-src/mkl-static-lp64-seq"]
27+
intel-mkl-dynamic-parallel = ["intel-mkl-src/mkl-dynamic-lp64-iomp"]
28+
intel-mkl-dynamic-sequential = ["intel-mkl-src/mkl-dynamic-lp64-seq"]
29+
intel-mkl-static-parallel = ["intel-mkl-src/mkl-static-lp64-iomp"]
30+
intel-mkl-static-sequential = ["intel-mkl-src/mkl-static-lp64-seq"]
2931
netlib = ["netlib-src"]
3032
openblas = ["openblas-src"]
3133
r = ["r-src"]

src/lib.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
//! The following implementations are available:
88
//!
99
//! * `accelerate`, which is the one in the [Accelerate] framework (macOS only),
10-
//! * `intel-mkl`, which is the one in [Intel MKL],
10+
//! * `intel-mkl-*`, which is the one in [Intel MKL], where
11+
//! * `intel-mkl-dynamic-parallel` dynamically links the parallel backend of MKL
12+
//! * `intel-mkl-dynamic-sequential` dynamically links the sequential backend of MKL
13+
//! * `intel-mkl-static-parallel` statically links the parallel backend of MKL
14+
//! * `intel-mkl-static-sequential` statically links the sequential backend of MKL
1115
//! * `netlib`, which is the reference one by [Netlib],
1216
//! * `openblas`, which is the one in [OpenBLAS], and
1317
//! * `r`, which is the one in [R].
@@ -22,15 +26,6 @@
2226
//! lapack-src = { version = "0.12", features = ["openblas"] }
2327
//! lapack-src = { version = "0.12", features = ["r"] }
2428
//! ```
25-
//! ### Configuring MKL
26-
//!
27-
//! When the `intel-mkl` feature is selected, then the parallel version of
28-
//! MKL using OpenMP is _statically_ linked. To link the sequential version
29-
//! use the `intel-mkl-seq` feature. In both cases, the
30-
//! [LP64 interface](https://www.intel.com/content/www/us/en/docs/onemkl/developer-guide-linux/2023-0/using-the-ilp64-interface-vs-lp64-interface.html)
31-
//! is linked. If other linkage options for MKL are desired, omit `lapack-src`
32-
//! as a dependency and use the [`intel-mkl-src`](https://crates.io/crates/intel-mkl-src)
33-
//! crate directly with the appropriate feature flags.
3429
//!
3530
//! [architecture]: https://blas-lapack-rs.github.io/architecture
3631
//! [lapack]: https://en.wikipedia.org/wiki/LAPACK
@@ -46,7 +41,12 @@
4641
#[cfg(feature = "accelerate")]
4742
extern crate accelerate_src as raw;
4843

49-
#[cfg(any(feature = "intel-mkl", feature = "intel-mkl-seq"))]
44+
#[cfg(any(
45+
feature = "intel-mkl-dynamic-parallel",
46+
feature = "intel-mkl-dynamic-sequential",
47+
feature = "intel-mkl-static-parallel",
48+
feature = "intel-mkl-static-sequential",
49+
))]
5050
extern crate intel_mkl_src as raw;
5151

5252
#[cfg(feature = "netlib")]

0 commit comments

Comments
 (0)