MKL_NUM_STRIPES 環境変数は、?gemm 関数のインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) のスレッド化アルゴリズムを制御します。MKL_NUM_STRIPES を正の整数値 nstripes に設定すると、インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) は 出力行列の先頭の次元に沿って nstripes に等しい数のパーティションを使用しようとします。
次の表は、MKL_NUM_STRIPES の nstripes 値と対応する ?gemm 出力行列用のインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) の分割アルゴリズムを示します。max_threads_for_mkl は、インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) 用 OpenMP* スレッドの最大数です。
| MKL_NUM_STRIPES の値
|
分割アルゴリズム |
|
|---|---|---|
1 < nstripes < (max_threads_for_mkl/2) |
パーティション数が nstripes に等しい 2 次元パーティション分割:
|
|
nstripes = 1 |
リーディング・ディメンジョンと逆方向の 1 次元分割アルゴリズム |
|
nstripes ≥ (max_threads_for_mkl /2) |
先頭次元に沿った 1 次元分割アルゴリズム。 |
|
nstripes < 0 |
デフォルトのインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) スレッド・アルゴリズム。 |
|
次の図は、nstripes = 4、合計 8 OpenMP* スレッド (列優先と行優先) の場合の出力行列の分割を示します。

サポート関数 mkl_set_num_stripes と mkl_get_num_stripes を使用して、stripes の数を設定および照会できます。
製品および性能に関する情報 |
|---|
性能は、使用状況、構成、およびその他の要因によって異なります。詳細については、www.Intel.com/PerformanceIndex (英語) をご覧ください。 改訂 #20201201 |