インテル® マス・カーネル・ライブラリー (インテル® MKL) は、シングル・ダイナミック・ライブラリー・インターフェイス (SDL インターフェイス) を提供しています。 SDL インターフェイスは、インテル® MKL のインターフェイスとスレッド化レイヤーを動的に選択します。
SDL インターフェイスを使用するには、リンク行にライブラリー mkl_rt.lib のみを指定します。 例:
icl.exe application.c mkl_rt.lib
mkl_rt.lib は mkl_rt.dll のインポート・ライブラリーです。
ランタイムにスレッド化レイヤーを設定するには、mkl_set_threading_layer 関数または MKL_SET_THREADING_LAYER 環境変数を使用します。 以下の表は、利用可能なスレッド化レイヤーと各レイヤーの設定に使用する値を示しています。
スレッド化レイヤー |
MKL_SET_THREADING_LAYER の値 |
mkl_set_threading_layer のパラメーターの値 |
---|---|---|
インテル® スレッド |
INTEL |
MKL_THREADING_INTEL |
インテル® MKL の逐次モード |
SEQUENTIAL |
MKL_THREADING_SEQUENTIAL |
PGI スレッド |
PGI |
MKL_THREADING_PGI |
mkl_set_threading_layer 関数が呼び出されると、環境変数 MKL_SET_THREADING_LAYER は無視されます。
デフォルトでは、インテル® スレッドが使用されます。
mkl_set_threading_layer 関数の詳細は、『インテル® MKL リファレンス・マニュアル』を参照してください。
利用可能なインターフェイスは、システムのアーキテクチャーに依存します。
インテル® 64 アーキテクチャー・ベースのシステムでは、LP64 および ILP64 インターフェイスを利用できます。ランタイムにこれらのインターフェイスの 1 つを設定するには、mkl_set_interface_layer 関数または MKL_SET_INTERFACE_LAYER 環境変数を使用します。 以下の表は、各インターフェイスの設定に使用する値を示しています。
インターフェイス・レイヤー |
MKL_SET_INTERFACE_LAYER の値 |
mkl_set_interface_layer のパラメーターの値 |
---|---|---|
LP64 |
LP64 |
MKL_INTERFACE_LP64 |
ILP64 |
ILP64 |
MKL_INTERFACE_ILP64 |
mkl_set_interface_layer 関数が呼び出されると、環境変数 MKL_SET_INTERFACE_LAYER は無視されます。
デフォルトでは、LP64 インターフェイスが使用されます。
mkl_set_interface_layer 関数の詳細は、『インテル® MKL リファレンス・マニュアル』を参照してください。
IA-32 アーキテクチャー・ベースのシステムでは、cdecl および stdcall インターフェイスを利用できます。これらのインターフェイスは異なる関数命名規則を使用しています。SDL インターフェイスは、関数名に従ってリンク時に cdecl または stdcall を選択します。
インテル® MKL のエラー制御ルーチン xerbla または進捗情報ルーチン mkl_progress を独自の関数に置換することができます。 xerbla または mkl_progress を置換するには、mkl_set_xerbla および mkl_set_progress 関数をそれぞれ呼び出します。 詳細は、『インテル® MKL リファレンス・マニュアル』を参照してください。
SDL インターフェイスを使用している場合、オブジェクト・ファイルと xerbla または mkl_progress の独自の実装をリンクして置換することはできません。
© 2007 - 2010 Intel Corporation. 無断での引用、転載を禁じます。