インターフェイスとスレッドレイヤーを動的に選択

シングル・ダイナミック・ライブラリー (SDL) インターフェイスは、インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) のインターフェイスとスレッドレイヤーを動的に選択します。

インターフェイス・レイヤーの設定

ランタイムにインターフェイス・レイヤーを設定するには、mkl_set_interface_layer 関数または MKL_INTERFACE_LAYER 環境変数を使用します。

利用可能なインターフェイス・レイヤーは、システムのアーキテクチャーに依存します。

以下の表は、インテル® 64 アーキテクチャーで利用可能なインターフェイス・レイヤーと各レイヤーの設定に使用する値を示しています。

インテル® 64 アーキテクチャー用のインターフェイス・レイヤーを指定

インターフェイス・レイヤー

MKL_INTERFACE_LAYER の値

Mkl_set_interface_layer のパラメーターの値

インテル LP64 (デフォルト)

LP64

MKL_INTERFACE_LP64

インテル ILP64

ILP64

MKL_INTERFACE_ILP64

GNU* LP64

GNU,LP64

MKL_INTERFACE_LP64+MKL_INTERFACE_GNU

GNU ILP64

GNU,ILP64

MKL_INTERFACE_ILP64+MKL_INTERFACE_GNU

mkl_set_interface_layer 関数が呼び出されると、MKL_INTERFACE_LAYER 環境変数は無視されます。

スレッドレイヤーの設定

実行時にスレッドレイヤーを設定するには、mkl_set_threading_layer 関数または MKL_THREADING_LAYER 環境変数を使用します。以下の表は、利用可能なスレッドレイヤーと各レイヤーの設定に使用する値を示しています。

スレッドレイヤーの指定

スレッドレイヤー

MKL_THREADING_LAYER の値

mkl_set_threading_layer のパラメーターの値

インテルのスレッドレイヤー (デフォルト)

INTEL

MKL_THREADING_INTEL

インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) のシーケンシャル・モード

SEQUENTIAL

MKL_THREADING_SEQUENTIAL

GNU* スレッドレイヤー

GNU*

MKL_THREADING_GNU

インテル® TBB スレッドレイヤー

TBB

MKL_THREADING_TBB

mkl_set_threading_layer 関数が呼び出されると、MKL_THREADING_LAYER 環境変数は無視されます。

関連情報