Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin openblas to >=0.10.11 in order to fix blas-compatible MSRV to 0.71.1 #1465

Merged
merged 12 commits into from
Dec 20, 2024
8 changes: 6 additions & 2 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ env:
HOST: x86_64-unknown-linux-gnu
FEATURES: "test docs"
RUSTFLAGS: "-D warnings"
MSRV: 1.64.0
BLAS_MSRV: 1.71.1

jobs:
clippy:
Expand Down Expand Up @@ -95,12 +97,14 @@ jobs:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.67.0 # BLAS MSRV
toolchain: 1.71.1 # BLAS MSRV
- uses: rui314/setup-mold@v1
- uses: Swatinem/rust-cache@v2
- name: Install openblas
run: sudo apt-get install libopenblas-dev gfortran
- run: ./scripts/blas-integ-tests.sh "$FEATURES" 1.67.0
- run: cargo tree -p blas-tests -i openblas-src -F blas-tests/openblas-system
- run: cargo tree -p blas-tests -i openblas-build -F blas-tests/openblas-system
- run: ./scripts/blas-integ-tests.sh $BLAS_MSRV

miri:
runs-on: ubuntu-latest
Expand Down
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,8 @@ BLAS on MSRV
------------

Although ``ndarray`` currently maintains an MSRV of 1.64.0, this is separate from the MSRV (either stated or real) of the various BLAS providers.
As of the time of writing, ``openblas`` currently supports MSRV of 1.67.0.
So, while ``ndarray`` and ``openblas-src`` are compatible, they can only work together with toolchains 1.67.0 or above.
As of the time of writing, ``openblas`` currently supports MSRV of 1.71.1.
So, while ``ndarray`` and ``openblas-src`` are compatible, they can only work together with toolchains 1.71.1 or above.

Recent Changes
--------------
Expand Down
2 changes: 1 addition & 1 deletion crates/blas-tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ ndarray = { workspace = true, features = ["approx", "blas"] }
ndarray-gen = { workspace = true }

blas-src = { version = "0.10", optional = true }
openblas-src = { version = "0.10", optional = true }
openblas-src = { version = ">=0.10.11", optional = true }
netlib-src = { version = "0.8", optional = true }
blis-src = { version = "0.2", features = ["system"], optional = true }

Expand Down
2 changes: 1 addition & 1 deletion crates/numeric-tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ rand = { workspace = true }
rand_distr = { workspace = true }

blas-src = { optional = true, version = "0.10", default-features = false, features = ["openblas"] }
openblas-src = { optional = true, version = "0.10", default-features = false, features = ["cblas", "system"] }
openblas-src = { optional = true, version = ">=0.10.11", default-features = false, features = ["cblas", "system"] }

[dev-dependencies]
num-traits = { workspace = true }
Expand Down
3 changes: 1 addition & 2 deletions scripts/blas-integ-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
set -x
set -e

FEATURES=$1
CHANNEL=$2
CHANNEL=$1

# BLAS tests
cargo test -p blas-tests -v --features blas-tests/openblas-system
Expand Down
Loading