Basic Linear Algebra Subprograms

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

Basic Linear Algebra SubprogramsBLAS)は、ベクトル行列に関する基本線型代数操作を実行するライブラリAPIデファクトスタンダードである。1979年に初公開され、これを使ったLAPACKなどの上位パッケージが構築されている。高性能計算で多用され、高度に最適化されたBLAS実装がインテルなどの各ハードウェアベンダーなどから提供されている。オープンソースの移植性の高い最適化BLAS実装としてATLASがある。LINPACKベンチマークの性能は、BLASのサブルーチンであるDGEMM(倍精度汎用行列乗算)の性能に大きく影響される。

機能[編集]

BLASの機能は以下の3レベルに分類される。

Level 1[編集]

このレベルには、以下のような形式のベクトル演算が含まれる。

\boldsymbol{y} \leftarrow \alpha \boldsymbol{x} + \boldsymbol{y} \!

他にもドット積ノルムなどが含まれる。

Level 2[編集]

このレベルには、以下のような形式の行列ベクトル演算が含まれる。

\boldsymbol{y} \leftarrow \alpha A \boldsymbol{x} + \beta \boldsymbol{y} \!

また、T \boldsymbol{x} = \boldsymbol{y}x について解く演算(T三角行列)なども含まれる。

Level 3[編集]

このレベルには、以下のような形式の行列同士の演算が含まれる。

C \leftarrow \alpha A B + \beta C \!

また、B \leftarrow \alpha T^{-1} B を三角行列 T について解く演算なども含まれる。このレベルにはよく使われる汎用行列乗算(GEMM)操作が含まれる。

実装[編集]

ほかに疎行列を対象としたBLASである Sparse BLAS もある。

関連項目[編集]

外部リンク[編集]

  • BLAS FAQ
  • BLAS operations GNU Scientific Library reference manual
  • BLAS Quick Reference Guide LAPACK Users' Guide
  • Lawson Oral History BLAS設計者の1人 Charles L. Lawson のインタビュー。by Thomas Haigh, 6 and 7 November, 2004, San Clemente, California. Society for Industrial and Applied Mathematics, Philadelphia, PA.
  • Dongarra Oral History BLAS、LINPACK、ATLAS 設計に関わった Jack J. Dongarra のインタビュー。 by Thomas Haigh, 26 April, 2005, University of Tennessee, Knoxville TN. Society for Industrial and Applied Mathematics, Philadelphia, PA