Openblas Src

Source of BLAS and LAPACK via OpenBLAS
Alternatives To Openblas Src
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Openblas5,2224810 hours ago38August 10, 2022143bsd-3-clauseC
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
Linfa2,54523a month ago10June 15, 202248apache-2.0Rust
A Rust machine learning framework.
Lapack1,158
a day ago96otherFortran
LAPACK development repository
Neanderthal1,016
a month ago61October 01, 202012epl-1.0Clojure
Fast Clojure Matrix Library
Scikit Cuda881359a year ago4May 27, 201953otherPython
Python interface to GPU-powered libraries
Vectorious6341312a month ago87June 12, 202212mitTypeScript
Linear algebra in TypeScript.
Ojalgo42595212 days ago57September 27, 2022mitJava
oj! Algorithms
Armadillo Code403
a year ago1
Armadillo: fast C++ library for linear algebra & scientific computing - http://arma.sourceforge.net
Blasjs272
12 months ago15November 25, 20212mitTypeScript
Pure Javascript manually written :ok_hand: implementation of BLAS, Many numerical software applications use BLAS computations, including Armadillo, LAPACK, LINPACK, GNU Octave, Mathematica, MATLAB, NumPy, R, and Julia.
Cmathtuts223
3 years ago3gpl-3.0Fortran
trying to collect all useful tutorials for famous C math and algebra libraries such as CBLAS, CLAPACK, GSL...
Alternatives To Openblas Src
Select To Compare


Alternative Project Comparisons
Readme

openblas-src Package Documentation Build

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

Architecture

Configuration

The following Cargo features are supported:

  • cache to build in a shared directory 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.

The OpenBLAS binary will be placed at ${XDG_DATA_HOME}/openblas_build/[hash of build configure object]. For example, build with LAPACK and build without LAPACK will be placed on different directories. If you build OpenBLAS as a shared library, you need to add the above directory to LD_LIBRARY_PATH (for Linux) or DYLD_LIBRARY_PATH (for macOS). Since build from source is not supported on Windows (see next section), this feature is also not supported.

Windows and vcpkg

On Windows, openblas-src relies on vcpkg to find OpenBLAS. Before building, you must have the correct OpenBLAS installed for your target triplet and kind of linking. For instance, to link dynamically for the x86_64-pc-windows-msvc toolchain, install openblas for the x64-windows triplet:

vcpkg install openblas --triplet x64-windows

To link OpenBLAS statically, install openblas for the x64-windows-static-md triplet:

vcpkg install openblas --triplet x64-windows-static-md

To link OpenBLAS and C Runtime (CRT) statically, install openblas for the x64-windows-static triplet:

vcpkg install openblas --triplet x64-windows-static

and build with +crt-static option

RUSTFLAGS='-C target-feature=+crt-static' cargo build --target x86_64-pc-windows-msvc

Please see the "Static and dynamic C runtimes" in The Rust reference for detail.

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.

Popular Lapack Projects
Popular Blas Projects
Popular Mathematics Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Rust
Linear Algebra
Blas
Lapack