MKL_DOMAIN_NUM_THREADS 環境変数は、特定の関数ドメイン用のスレッド数を示します。
MKL_DOMAIN_NUM_THREADS には、文字列値 <MKL 環境文字列> を以下の形式で指定します。
<MKL 環境文字列> ::= <MKL ドメイン環境文字列> { <区切り文字> <MKL ドメイン環境文字列> }
<区切り文字> ::= [ <スペース記号>* ] ( <スペース記号> | <カンマ記号> | <セミコロン記号> | <コロン記号>) [ <スペース記号>* ]
<MKL ドメイン環境文字列> ::= <MKL ドメイン環境名> <使用法> <スレッド数>
<MKL ドメイン環境名> ::= MKL_ALL | MKL_BLAS | MKL_FFT | MKL_VML
<使用法> ::= [ <スペース記号>* ] ( <スペース記号> | <等号記号> | <カンマ記号>) [ <スペース記号>* ]
<スレッド数> ::= <正の整数>
<正の整数> ::= <10 進数> | <8 進数> | <16 進数>
上記の構文で、MKL_BLAS は BLAS 関数ドメイン、MKL_FFT は非クラスター FFT、MKL_VML はベクトル・マス・ライブラリーを示します。
例:
MKL_ALL 2 : MKL_BLAS 1 : MKL_FFT 4
MKL_ALL=2 : MKL_BLAS=1 : MKL_FFT=4
MKL_ALL=2, MKL_BLAS=1, MKL_FFT=4
MKL_ALL=2; MKL_BLAS=1; MKL_FFT=4
MKL_ALL = 2 MKL_BLAS 1 , MKL_FFT 4
MKL_ALL,2: MKL_BLAS 1, MKL_FFT,4 .
グローバル変数 MKL_ALL、MKL_BLAS、MKL_FFT、MKL_VML、およびインテル® マス・カーネル・ライブラリー (インテル® MKL) スレッド化コントロール用のインターフェイスは、mkl.h ヘッダーファイルに記述されています。
以下の表は、MKL_DOMAIN_NUM_THREADS の値がどのように解釈されるかを示しています。
MKL_DOMAIN_NUM_THREADS の値 |
解釈 |
---|---|
MKL_ALL=4 |
インテル® MKL のすべての部分で 4 つのスレッドを使用しようとします。実際のスレッド数は、MKL_DYNAMIC の設定やシステムリソースの状況に応じて異なります。 この設定は、MKL_NUM_THREADS = 4 と等価です。 |
MKL_ALL=1, MKL_BLAS=4 |
BLAS で 4 つのスレッドを使用することを除いて、インテル® MKL のすべての部分で 1 つのスレッドを使用しようとします。 |
MKL_VML=2 |
VML で 2 つのスレッドを使用しようとします。設定は、インテル® MKL のほかの部分には影響しません。 |
ドメイン固有の設定は、ほかの設定よりも優先されることに注意してください。例えば、MKL_DOMAIN_NUM_THREADS が "MKL_BLAS=4" に設定された場合、MKL_NUM_THREADS の設定に関係なく、BLAS で 4 つのスレッドを使用するように推奨します。関数呼び出し "mkl_domain_set_num_threads ( 4, MKL_BLAS );" も、mkl_set_num_threads() への呼び出しに関係なく、BLAS で 4 つのスレッドを使用するように推奨します。
しかし、"mkl_domain_set_num_threads (4, MKL_ALL);" のように、"MKL_ALL" が入力の関数呼び出しは、"mkl_set_num_threads(4)" と等価であるため、後の mkl_set_num_threads 呼び出しよりも優先されることに注意してください。
同様に、MKL_DOMAIN_NUM_THREADS が "MKL_ALL=4" に設定された場合、MKL_NUM_THREADS = 2 よりも優先されます。
例えば、MKL_DOMAIN_NUM_THREADS 環境変数では、"MKL_BLAS=4,MKL_FFT=2" のように複数の変数を一度に設定することができますが、対応する関数で文字列構文は使用できません。 このため、関数呼び出しで同じことを行うには、以下のように複数の呼び出しを行う必要があります。
mkl_domain_set_num_threads ( 4, MKL_BLAS );
mkl_domain_set_num_threads ( 2, MKL_FFT );
© 2006 - 2010 Intel Corporation. 無断での引用、転載を禁じます。