#linear-algebra

sys openblas-src

The package provides a source of BLAS and LAPACK via OpenBLAS

14 unstable releases (5 breaking)

Uses old Rust 2015

new 0.10.1 Sep 12, 2020
0.9.0 Mar 8, 2020
0.7.0 Dec 15, 2018
0.6.1 Oct 7, 2018
0.5.0 May 23, 2016

#93 in Math

Download history 839/week @ 2020-05-26 1367/week @ 2020-06-02 1257/week @ 2020-06-09 1005/week @ 2020-06-16 900/week @ 2020-06-23 974/week @ 2020-06-30 1116/week @ 2020-07-07 1266/week @ 2020-07-14 916/week @ 2020-07-21 852/week @ 2020-07-28 634/week @ 2020-08-04 903/week @ 2020-08-11 980/week @ 2020-08-18 1107/week @ 2020-08-25 733/week @ 2020-09-01 890/week @ 2020-09-08

4,068 downloads per month
Used in 41 crates (26 directly)

Apache-2.0/MIT

77MB
2M SLoC

GNU Style Assembly 1M SLoC // 0.0% comments C 354K SLoC // 0.3% comments FORTRAN Legacy 316K SLoC // 0.7% comments Python 269 SLoC // 0.1% comments C++ 170 SLoC // 0.0% comments Rust 78 SLoC Shell 45 SLoC

openblas-src Package Documentation Build Build

The package provides a source of BLAS and LAPACK via OpenBLAS.

The usage of the package is explained here.

The following Cargo features are supported:

  • cache to build in .cargo instead of target (see below),
  • cblas to build CBLAS (enabled by default),
  • lapacke to build LAPACKE (enabled by default),
  • static to link to OpenBLAS statically, and
  • system to skip building the bundled OpenBLAS.

Caching

The cache feature allows the OpenBLAS build products to be reused between crates that have different target directories. This avoids rebuilding OpenBLAS unnecessarily. However, this also prevents cargo clean from working properly, since the aforementioned build products will not be removed by the command.

Cross Compilation

Apart from providing the --target option to cargo build, one also has to specify the cross-compilation variables of OpenBLAS. They can be set as environment variables for cargo build using the OPENBLAS_ prefix as follows: OPENBLAS_CC, OPENBLAS_FC, OPENBLAS_HOSTCC, and OPENBLAS_TARGET.

Contribution

Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.

Dependencies