[ English | Japanese ]

BLAS

概要

BLAS (Basic Linear Algebra Subprograms) は、ベクトルと行列の基本演算を行う高性能なルーチン群です。ベクトル-ベクトル演算(レベル1 BLAS)、行列-ベクトル演算(レベル2 BLAS)、行列-行列演算(レベル3 BLAS)を行う3種のルーチン群から構成されています。

NEC Numeric Library CollectionのBLASは、逐次版とOpenMP版をサポートしています。環境変数OMP_NUM_THREADSnpに設定されている場合、OpenMP版はnp個のスレッド上で実行されます。OMP_NUM_THREADSが設定されていない場合には、OpenMP版はmp個のスレッドで実行されます。この時、mpはリソースグループ内の最大スレッド数です。

BLASの使用方法

BLASルーチン一覧

 名称欄の? は、接頭辞欄のいずれかに置き換わります。接頭辞はそれぞれ精度を表します。
凡例: S = REAL(kind=4), D = REAL(kind=8), C = COMPLEX(kind=4), Z = COMPLEX(kind=8)
  名称 接頭辞 説明
レベル1
BLAS
S D C Z ギブンス回転行列の生成
?ROTMG
S D 修正ギブンス回転行列を生成
S D C Z CS ZD ギブンス回転を適用
?ROTM
S D 修正ギブンス回転を適用
S D C Z ベクトル同士を交換
S D C Z CS ZD ベクトルをスカラー倍
S D C Z ベクトルをコピー
S D C Z ベクトルをスカラー倍して加算
S D SDS DS 内積、実数
?DOTU
C Z 内積、複素数 (第1ベクトルを転置)
?DOTC
C Z 内積、複素数 (第1ベクトルを転置複素共役)
S D SC DZ ユークリッド・ノルム
S D SC DZ 絶対値の和
S D C Z 最大絶対値のインデックス
レベル2
BLAS
S D C Z 一般行列とベクトルの積
S D C Z 一般帯行列とベクトルの積
?HEMV
C Z エルミート行列とベクトルの積
?HBMV
C Z エルミート帯行列とベクトルの積
?HPMV
C Z エルミート行列とベクトルの積 (メモリ縮小版)
S D C Z 対称行列とベクトルの積
?SBMV
S D 対称帯行列とベクトルの積
?SPMV
S D 対称行列とベクトルの積 (メモリ縮小版)
S D C Z 三角行列とベクトルの積
S D C Z 三角帯行列とベクトルの積
S D C Z 三角行列とベクトルの積 (メモリ縮小版)
S D C Z 三角行列の求解
S D C Z 三角帯行列の求解
S D C Z 三角行列の求解 (メモリ縮小版)
?GER
S D 一般行列のランク1更新、実数
?GERU
C Z 一般行列のランク1更新、複素数 (第2ベクトル転置)
?GERC
C Z 一般行列のランク1更新、複素数 (第2ベクトル転置複素数共役)
?HER
C Z エルミート行列のランク1更新
?HPR
C Z エルミート行列のランク1更新 (メモリ縮小版)
?HER2
C Z エルミート行列のランク2更新
?HPR2
C Z エルミート行列のランク2更新 (メモリ縮小版)
?SYR
S D 対称行列のランク1更新
?SPR
S D 対称行列のランク1更新 (メモリ縮小版)
?SYR2
S D 対称行列のランク2更新
?SPR2
S D 対称行列のランク2更新 (メモリ縮小版)
レベル3
BLAS
S D C Z 一般行列同士の積
S D 複数の一般行列同士の積

このルーチンは十分に最適化されていません。将来のリリースで性能を改善する予定です。
S D C Z 一般行列同士の積 (上三角または下三角のみ更新)
?GEMM3M
C Z 複素一般行列同士の積 (性能優先版)
S D C Z 対称行列同士の積
?HEMM
C Z エルミート行列同士の積
S D C Z 対称行列のランクk更新
?HERK
C Z エルミート行列のランクk更新
S D C Z 対称行列のランク2k更新
?HER2K
C Z エルミート行列のランク2k更新
S D C Z 三角行列同士の積
S D C Z 三角行列の求解
補助
サブルーチン
第1番目の文字型入力引数CAが、第2番目の文字型入力引数CBと同じ文字の場合、.TRUE.を取得。大文字・小文字の区別はない。
引数エラーメッセージを出力
BLASルーチンで参照する環境変数を取得する

外部リンク

  1. A Quick Reference Guide for BLAS

バージョン情報

  • このマニュアルページのバージョン: 2.2.0-200821