BLAS レベル 3 ルーチン

BLAS レベル 3 ルーチン#

BLAS レベル 3 ルーチンは、行列間の演算を実行します。次の表は、BLAS レベル 3 ルーチングループとそれに関連付けられたデータタイプを示しています。

ルーチンのグループ

データタイプ

説明

gemm

std::int8_toneapi::mkl::bfloat16sycl::halffloatdoublestd::complex<float>std::complex<double>、ミックス

一般行列の行列-行列積を計算します。

hemm

std::complex<float>std::complex<double>

1 つの入力行列がエルミート行列で、もう 1 つが一般行列である行列-行列積を計算します。

herk

std::complex<float>std::complex<double>

エルミートランク k 更新を実行します。

her2k

std::complex<float>std::complex<double>

エルミートランク 2k 更新を実行します。

symm

floatdoublestd::complex<float>std::complex<double>

1 つの入力行列が対称行列で、もう 1 つの入力行列が一般行列である行列-行列積を計算します。

syrk

floatdoublestd::complex<float>std::complex<double>

対称ランク k 更新を実行します。

syr2k

floatdoublestd::complex<float>std::complex<double>

対称ランク 2k 更新を実行します。

trmm

floatdoublestd::complex<float>std::complex<double>

1 つの入力行列が三角行列で、もう 1 つの入力行列が一般行列である行列-行列積を計算します。

trsm

floatdoublestd::complex<float>std::complex<double>

三角行列方程式を解きます (順方向または逆方向の解)。

BLAS 関数は可能であればブロックされ、データ参照のローカライズを増やし、キャッシュメモリーの使用を強化し、メモリーバスへの依存を減らす方法でコードを再構築します。

並列処理を最大化するため、コードはプロセッサー全体に配置されます。

製品および性能に関する情報

性能は、使用状況、構成、およびその他の要因によって異なります。詳細は、https://www.intel.com/PerformanceIndex (英語) を参照してください。改訂 #20201201