スレッド化レイヤーと RTL のライブラリーの選択

インテル® マス・カーネル・ライブラリー (インテル® MKL) がサポートしているいくつかのコンパイラーは、スレッド化に OpenMP* テクノロジーを使用しています。 インテル® MKL は、これらのコンパイラーが提供する OpenMP テクノロジーの実装をサポートしています。このサポートを使用するには、スレッド化レイヤーとコンパイラー・サポート・ランタイム・ライブラリー (RTL) の適切なライブラリーをリンクする必要があります。

スレッド化レイヤー

インテル® MKL スレッド化ライブラリーにはそれぞれ、サポートしているコンパイラー (インテル® コンパイラーおよび PGI* コンパイラー(Windows* の場合) でコンパイルされた同じコードが含まれています。

RTL

このレイヤーには、インテル® コンパイラーの互換 OpenMP ランタイム・ライブラリー libiomp が含まれます。 インテル® コンパイラーに加えて、libiomp は、別のスレッド化コンパイラー (Windows の場合 Microsoft* Visual C++*) もサポートします。 つまり、Microsoft Visual C++ を使用してスレッド化されたプログラムは、インテル® MKL および libiomp と安全にリンクすることができます。

以下の表は、インテル® MKL を使用したときに選択するスレッド化ライブラリーと RTL の説明です (スタティックの場合のみ)。

コンパイラー

マルチスレッド?

スレッド化レイヤー

RTL を推奨

コメント

インテル

問題になりません

mkl_intel_thread.lib

libiomp5md.lib

PGI

mkl_pgi_thread.lib or mkl_sequential.lib

PGI* が提供

mkl_sequential.lib を使用すると、インテル® MKL 呼び出しからスレッド化が削除されます。

PGI

X

mkl_intel_thread.lib

libiomp5md.lib

PGI

X

mkl_pgi_thread.lib

PGI が提供

PGI

X

mkl_sequential.lib

なし

Microsoft

mkl_intel_thread.lib

libiomp5md.lib

Microsoft* Visual Studio* IDE 2005 以降の OpenMP ライブラリーの場合。

Microsoft

mkl_sequential.lib

なし

Win32 スレッド。

Microsoft

X

mkl_intel_thread.lib

libiomp5md.lib

その他

mkl_sequential.lib

なし

その他

X

mkl_intel_thread.lib

libiomp5md.lib

Tip iconヒント

スレッド化されたインテル® MKL を使用するには、/MT オプションを指定してコードをコンパイルします。 コンパイラー・ドライバーはオプションをリンカーに渡し、マルチスレッド (MT) ランタイム・ライブラリーがロードされます。


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

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