Oracle® Developer Studio 12.5: パフォーマンスライブラリユーザーズガイド

印刷ビューの終了

更新: 2016 年 6 月
 
 

スパース BLAS

Oracle Developer Studio パフォーマンスライブラリのスパース BLAS パッケージは次の 2 つのパッケージに基づいています。

  • Dodson、Grimes、および Lewis による Netlib スパース BLAS パッケージは、スパースベクトルの演算を行う基本線形代数サブルーチン (BLAS) のスパース拡張で構成されています。

  • NIST (米国標準技術局) Fortran スパース BLAS ライブラリは、さまざまな格納形式のスパース行列について行列の積および三角行列の連立方程式の求解を実行するルーチンで構成されています。

スパース BLAS の詳細については、次のソースを参照してください。

  • スパース BLAS ルーチンについては、各ルーチンのセクション 3P のマニュアルページを参照してください。

  • Netlib スパース BLAS パッケージの詳細については、http://www.netlib.org/sparse-blas/index.html を参照してください。

  • NIST Fortran スパース BLAS ルーチンの詳細については、http://math.nist.gov/spblas/ を参照してください。

以降のセクションで説明されているように、Netlib スパース BLAS および NIST Fortran スパース BLAS ライブラリのルーチンはそれぞれ独自の命名規則を使用しています。

Netlib スパース BLAS

Netlib スパース BLAS の各ルーチンは、接頭辞-基底-接尾辞という形式の名前を持っています。

  • 接頭辞はデータ型を表します。

  • 基底は演算を表します。

  • 接尾辞は、既存の密 BLAS ルーチンを直接拡張したルーチンかどうかを表します。

次の表に、Netlib スパース BLAS のベクトルルーチンの命名規則を示します。

表 2  Netlib スパース BLAS の命名規則
演算
名前の基底
接頭辞および接尾辞
ドット積
-DOT-
S-I D-I C-UI Z-UI C-CI Z-CI
ベクトルのスカラー倍をベクトルに加算
-AXPY-
S-I D-I C-I Z-I
ギブンス回転を適用
-ROT-
S-I D-I
x を y に収集
-GTHR-
S- D- C- Z- S-Z D-Z C-Z Z-Z
x を y に分散
-SCTR-
S- D- C- Z-

接頭辞は次のデータ型のいずれかです。

  • S: SINGLE

  • D: DOUBLE

  • C: COMPLEX

  • Z: COMPLEX*16 または DOUBLE COMPLEX

接尾辞 ICI、および UI は、密 BLAS ルーチンを直接拡張したスパース BLAS ルーチンであることを表します。

NIST Fortran スパース BLAS

NIST Fortran スパース BLAS の各ルーチンは、XYYYZZ という形式の 6 文字の名前を持っています。ここでは:

  • X はデータ型を表します。

  • YYY はスパース格納形式を表します。

  • ZZ は演算を表します。

次の表に、XYYY、および ZZ の取り得る値を示します。

表 3  NIST Fortran スパース BLAS ルーチンの命名規則
ルーチン名の変数
指定可能な値と意味
X – データ型を 1 文字で指定します
  • S: 単精度

  • D: 倍精度

  • C: 複素数

  • Z: 倍精度複素数

YYY – スパース格納形式を 3 文字で指定します
単一エントリ形式:
  • CSC: 圧縮スパース列

  • COO: 座標

  • CSR: 圧縮スパース行

  • DIA: 対角

  • ELL: ellpack

  • JAD: 鋸歯状対角

  • SKY: スカイライン

ブロックエントリ形式:
  • BCO: ブロック座標

  • BSC: ブロック圧縮スパース列

  • BSR: ブロック圧縮スパース行

  • BDI: ブロック対角

  • BEL: ブロック ellpack

  • VBR: ブロック圧縮スパース行

ZZ – 演算を 2 文字で指定します
  • MM: 行列と行列の積

  • SM: 三角行列の連立方程式の求解 (COO 以外のすべての形式をサポート)

  • RP: 右置換 (JAD 形式のみ)