シングル・ダイナミック・ライブラリー・インターフェイスの使用

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

SDL インターフェイスを使用するには、リンク行にライブラリー mkl_rt.lib のみを指定します。 例:

icl.exe application.c mkl_rt.lib

mkl_rt.libmkl_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 リファレンス・マニュアル』を参照してください。

Note icon

SDL インターフェイスを使用している場合、オブジェクト・ファイルと xerbla または mkl_progress の独自の実装をリンクして置換することはできません。

関連情報


このヘルプトピックについてのフィードバックを送信

© 2007 - 2010 Intel Corporation. 無断での引用、転載を禁じます。