Repolode
OpenMathLib

OpenMathLib/OpenBLAS

多様なCPUアーキテクチャ向けに最適化された、GPUを除くオープンソースのBLAS・LAPACK線形代数ライブラリ。

代替できる製品:Intel MKL

スター
7,667
フォーク
1,750
未解決の Issue
163
最終コミット
24 時間前

これは何?

OpenBLASは、数値計算ソフトウェアでベクトルや行列を扱う際に使われる標準的な低レベルの構成要素、BLAS(Basic Linear Algebra Subprograms)のルーチンを実装するライブラリです。BSDライセンスのGotoBLAS2 1.13をベースとし、上位レベルの線形代数パッケージであるLAPACKと、LAPACKE Cインターフェースも同梱しています。

IntelのSandy BridgeからSapphire Rapidsまでのx86-64世代、AMD Zen、NeoverseやCortex-AシリーズなどのARM64コア、POWER、IBM Z、RISC-Vのベクトル拡張、LoongArchなど、幅広いプロセッサ向けに最適化されたカーネルを提供します。DYNAMIC_ARCHビルドでは、複数のターゲットを1つのライブラリに含め、実行時に適切なカーネルを選択できます。ビルドにはmakeまたはCMakeを使用でき、クロスコンパイルにも対応しています。

OpenBLASはGNU/Linux、Windows(MinGWまたはVisual Studio)、macOS、複数のBSD系OSで動作し、WebAssemblyからも利用できます。スレッド数は環境変数または実行時関数で制御できます。

主な機能

  • 01BLASを実装し、LAPACKとLAPACKE Cインターフェースを同梱。
  • 02x86、ARM64、POWER、IBM Z、RISC-V、LoongArchなど、多様なCPU向けに最適化されたカーネルを提供。
  • 03DYNAMIC_ARCHビルドでは複数のCPUターゲットを含め、実行時にカーネルを選択。
  • 04クロスコンパイルを含む、makeおよびCMakeでのビルドに対応。
  • 05環境変数または実行時関数でスレッド数を設定可能。
  • 06Windows用バイナリパッケージとして入手でき、多数のパッケージマネージャーからも利用可能。

ユースケース

  • 科学技術計算や数値計算ライブラリで、行列・ベクトル演算を高速化する。
  • R、NumPy、SciPyなどの数値計算スタックにBLAS/LAPACKバックエンドを提供する。
  • 異なるアーキテクチャの組み込みCPUやサーバーCPU向けに、高性能な線形代数コードを構築する。
  • WebAssemblyビルドを使って、ブラウザー上で数値計算ワークロードを実行する。

クイックスタート

  1. 1

    GitHubからソースコードを取得します(デフォルトブランチはdevelopです)

  2. 2

    makeでライブラリをビルドします(CPUは自動検出されます)

    make
  3. 3

    任意のディレクトリにインストールします

    make install PREFIX=your_installation_directory

使う前に知っておきたいこと

  • GPUには対応していません。
  • ソースからビルドするにはCコンパイラが必要です。また、一部のCPUターゲットはまだ試験的なサポートにとどまっています。

トピック

よくある質問

OpenBLAS とは?
多様なCPUアーキテクチャ向けに最適化された、GPUを除くオープンソースのBLAS・LAPACK線形代数ライブラリ。 OpenBLASは、数値計算ソフトウェアでベクトルや行列を扱う際に使われる標準的な低レベルの構成要素、BLAS(Basic Linear Algebra Subprograms)のルーチンを実装するライブラリです。BSDライセンスのGotoBLAS2 1.13をベースとし、上位レベルの線形代数パッケージであるLAPACKと、LAPACKE Cインターフェースも同梱しています。
OpenBLAS は無料で使えますか?ライセンスは?
OpenBLAS は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
OpenBLAS は今もメンテナンスされていますか?
活発にメンテナンス中。OpenBLAS の最終コミットは 2026年11月6日 です。
OpenBLAS は何に使えますか?
科学技術計算や数値計算ライブラリで、行列・ベクトル演算を高速化する。 R、NumPy、SciPyなどの数値計算スタックにBLAS/LAPACKバックエンドを提供する。 異なるアーキテクチャの組み込みCPUやサーバーCPU向けに、高性能な線形代数コードを構築する。 WebAssemblyビルドを使って、ブラウザー上で数値計算ワークロードを実行する。
OpenBLAS のインストール方法は?
GitHubからソースコードを取得します(デフォルトブランチはdevelopです) makeでライブラリをビルドします(CPUは自動検出されます): make 任意のディレクトリにインストールします: make install PREFIX=your_installation_directory
OpenBLAS はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/OpenMathLib/OpenBLAS

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト