インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) では、MKL_VML_MODE 環境変数を使用して、ベクトル数学 (VM) グローバルモードのデフォルト設定をオーバーライドできます。
モードはさまざまな方法で設定または変更できるため、実際に使用されるモードは方法の優先順位により決まります。以下に、VM モードを設定または変更する設定および関数呼び出しを、優先順位の低いものから順にリストします。
詳細は、『インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) デベロッパー・リファレンス』の「Vector Mathematical Functions」セクションおよび vmlSetMode 関数の説明を参照してください。
MKL_VML_MODE 環境変数を設定するには、コマンドシェルで次のコマンドを使用します。
bash シェルの場合:
export MKL_VML_MODE=<mode-string>
C シェル (csh または tcsh) の場合:
setenv MKL_VML_MODE <mode-string>
これらのコマンドで、<mode-string> はエラー制御の動作と計算精度を制御します。次の表にリストされている mode パラメーターの値をカンマ区切りで指定します。
| mode の値 | 説明 |
|---|---|
| 精度の制御 | |
| VML_HA | VM 関数の高精度バージョン |
| VML_LA | VM 関数の低精度バージョン |
| VML_EP | VM 関数の拡張パフォーマンス精度バージョン |
| 正規化されていない数の制御 | |
| VML_FTZDAZ_ON | 正規化されていない入力の高速処理を有効にします。 |
| VML_FTZDAZ_OFF | 正規化されていない入力の高速処理を無効にします。 |
| VML_FTZDAZ_CURRENT | デノーマル入力の CPU 設定を保持します。 |
| エラーモードの制御 | |
| VML_ERRMODE_IGNORE | 計算エラー時に、VM Error ステータスは更新しますが、それ以外の処理は行いません。ほかの VML_ERRMODE 設定と一緒に使用することはできません。 |
| VML_ERRMODE_NOERR | 計算エラー時に、VM Error ステータスを更新せず、処理も行いません。ほかの VML_ERRMODE 設定と一緒に使用することはできません。 |
| VML_ERRMODE_STDERR | エラー時にエラーテキスト情報を stderr に出力します。 |
| VML_ERRMODE_EXCEPT | エラー時に例外を発生させます。 |
| VML_ERRMODE_CALLBACK | エラー時に追加のエラー制御関数を呼び出します。 |
| VML_ERRMODE_DEFAULT | エラーが発生すると例外が発生し、設定されたエラーハンドラー関数が呼び出されます。 |
次のコマンドは、コマンドシェルで MKL_VML_MODE 環境変数の設定の例を示しています。
bash シェルの場合:
export MKL_VML_MODE=VML_LA,VML_ERRMODE_ERRNO,VML_ERRMODE_STDERR
C シェル (csh または tcsh) の場合:
setenv MKL_VML_MODE VML_LA,VML_ERRMODE_ERRNO,VML_ERRMODE_STDERR
mode の設定が正しくないと、VM は MKL_VML_MODE 環境変数を無視します。