Basic Linear Algebra Subprograms
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/05 05:41 UTC 版)
開発元 | The University of Tennessee and The University of Tennessee Research Foundation, The University of California Berkeley, The University of Colorado Denver[1] |
---|---|
最新版 |
3.12.0
/ 2023年11月25日[2] |
リポジトリ |
github BLASとLAPACKをまとめて実装している |
プログラミング 言語 | Fortran、C言語 |
種別 | 数値線形代数 |
ライセンス | 三条項BSDライセンス |
公式サイト |
www |
Basic Linear Algebra Subprograms(BLAS)は数値線形代数の基礎的演算に必要な関数を定義するAPIである[3]。ベクトル・行列演算を含む38の関数からなるLevel 1 BLASが1979年に発表されたのち[4]、Level 2 および Level 3 まで拡張された。多数の実装が作成・整備され続けており、この分野におけるデファクトスタンダードとなっている。BLASの基礎演算を利用してLAPACKなどの上位パッケージが構築されており、科学技術計算・高性能計算で多用される。
BLASの関数を多用するソフトウェアにおいてBLAS実装(ライブラリ)の質は速度に直結する。高度な最適化は実装が動くハードウェアに依存するため、多くのハードウェアベンダーが自社デバイスに特化したライブラリを提供している(インテル:Intel oneAPI Math Kernel Library)。オープンソースの最適化 BLAS 実装として OpenBLAS などがある。
LINPACK ベンチマークの性能は、BLAS のサブルーチンである DGEMM(倍精度汎用行列乗算)の性能に大きく影響される。
対応しているデータ型は単精度浮動小数点数と倍精度浮動小数点数。近年 CPU および GPU で広く実装されている bfloat16 は、各 BLAS 実装が独自拡張[5]として実装していていて、今のところ、公式の BLAS 実装では実装されていない。
機能
BLASの機能は以下の3レベルに分類される。
Level 1
このレベルには、以下のような形式のベクトル演算が含まれる。
固有名詞の分類
数値解析ソフトウェア |
LAPACK GNU Octave Basic Linear Algebra Subprograms MATLAB IMSL |
Weblioに収録されているすべての辞書からBasic Linear Algebra Subprogramsを検索する場合は、下記のリンクをクリックしてください。

- Basic Linear Algebra Subprogramsのページへのリンク