Repolode
OpenMathLib

OpenMathLib/OpenBLAS

An optimized open-source BLAS and LAPACK linear algebra library tuned for many CPU architectures, GPUs excluded.

Open-source alternative to:Intel MKL

Stars
7,669
Forks
1,751
Open issues
163
Last commit
5 hours ago

What is it?

OpenBLAS is a library that implements BLAS (Basic Linear Algebra Subprograms) routines, the standard low-level building blocks for vector and matrix operations used by numerical software. It is based on GotoBLAS2 1.13 under the BSD license and also bundles LAPACK, the higher-level linear algebra package, along with a LAPACKE C interface.

The library ships optimized kernels for a wide range of processors, including Intel x86-64 generations from Sandy Bridge through Sapphire Rapids, AMD Zen, ARM64 cores such as Neoverse and Cortex-A series, POWER, IBM Z, RISC-V vector extensions and LoongArch. A DYNAMIC_ARCH build can include several targets in one library and select the right kernels at runtime. Builds are driven by make or CMake, and cross compilation is supported.

OpenBLAS runs on GNU/Linux, Windows (MinGW or Visual Studio), macOS, and several BSD variants, and is also usable from WebAssembly. Thread count can be controlled through environment variables or runtime functions.

Key features

  • 01Implements BLAS and bundles LAPACK with a LAPACKE C interface.
  • 02Provides optimized kernels for many x86, ARM64, POWER, IBM Z, RISC-V and LoongArch CPUs.
  • 03DYNAMIC_ARCH builds include multiple CPU targets and choose kernels at runtime.
  • 04Supports make and CMake builds, including cross compilation.
  • 05Thread count is configurable via environment variables or runtime functions.
  • 06Available as Windows binary packages and through many package managers.

Use cases

  • Accelerating matrix and vector computations in scientific computing and numerical libraries.
  • Providing the BLAS/LAPACK backend for R, NumPy, SciPy or other numerical stacks.
  • Building high-performance linear algebra code for embedded or server CPUs across different architectures.
  • Running numerical workloads in browsers via WebAssembly builds.

Quick start

  1. 1

    Get the source code from GitHub (default branch is develop)

  2. 2

    Build the library with make (CPU is detected automatically)

    make
  3. 3

    Install to a chosen directory

    make install PREFIX=your_installation_directory

Things to know

  • Does not support GPUs.
  • Building from source requires a C compiler, and some CPU targets have only preliminary support.

Topics

FAQ

What is OpenBLAS?
An optimized open-source BLAS and LAPACK linear algebra library tuned for many CPU architectures, GPUs excluded. OpenBLAS is a library that implements BLAS (Basic Linear Algebra Subprograms) routines, the standard low-level building blocks for vector and matrix operations used by numerical software. It is based on GotoBLAS2 1.13 under the BSD license and also bundles LAPACK, the higher-level linear algebra package, along with a LAPACKE C interface.
Is OpenBLAS free to use? What license does it have?
OpenBLAS is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
Is OpenBLAS still maintained?
Actively maintained. The last commit to OpenBLAS was on Nov 7, 2026.
What can I use OpenBLAS for?
Accelerating matrix and vector computations in scientific computing and numerical libraries. Providing the BLAS/LAPACK backend for R, NumPy, SciPy or other numerical stacks. Building high-performance linear algebra code for embedded or server CPUs across different architectures. Running numerical workloads in browsers via WebAssembly builds.
How do I install OpenBLAS?
Get the source code from GitHub (default branch is develop) Build the library with make (CPU is detected automatically): make Install to a chosen directory: make install PREFIX=your_installation_directory
Where can I get OpenBLAS?
The source code and installation instructions are on GitHub: https://github.com/OpenMathLib/OpenBLAS

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects