インテル® MKL 2017 デベロッパー・ガイド
インテル® MKL ScaLAPACK、クラスター FFT、およびクラスター・スパース・ソルバーは、『インテル® MKL リリースノート』に記述されている MPI 実装をサポートしています。
ScaLAPACK、クラスター FFT、およびクラスター・スパース・ソルバーとリンクするには、以下のコマンドを使用します。
set lib =<MKL ライブラリーのパス>;<MPI ライブラリーのパス>;%lib%
<リンカー> <リンクするファイル> [<MKL クラスター・ライブラリー>] <BLACS><MKL コア・ライブラリー><MPI ライブラリー>
プレースホルダーは、以下の表で説明されているパスとライブラリーを表します。
<MKL ライブラリーのパス> |
<mkl directory>\lib\intel64_win。環境変数を設定するスクリプト/環境変数の設定を実行した場合、このディレクトリーを環境変数 lib に追加する必要はありません。 |
<MPI ライブラリーのパス> |
通常は、MPI インストール・ディレクトリーの lib サブディレクトリーです。 |
<リンカー> |
icl、ifort、xilink のいずれか 1 つです。 |
<MKL クラスター・ライブラリー> |
「付録 C: 詳細なディレクトリー構造」にリストされている ScaLAPACK またはクラスター FFT のいずれか 1 つです。例えば、LP64 インターフェイスの場合、mkl_scalapack_lp64.lib または mkl_cdft_core.lib を利用できます。クラスター・スパース・ソルバーでは、追加の計算ライブラリーは必要ありません。 |
<BLACS> |
アーキテクチャー、プログラミング・インターフェイス (LP64 または IPL64)、および MPI バージョンに対応する BLACS ライブラリーです。利用可能なライブラリーは、「付録 C: 詳細なディレクトリー構造」にリストされています。例えば、LP64 インターフェイスの場合、mkl_blacs_intelmpi_lp64.lib、mkl_blacs_mpich2_lp64.lib、または mkl_blacs_msmpi_lp64.lib (スタティック・リンクの場合) および mkl_blacs_lp64_dll.lib (ダイナミック・リンクの場合) のいずれかを利用できます。 |
<MKL コア・ライブラリー> |
ScaLAPACK、クラスター FFT、またはクラスター・スパース・ソルバー以外のインテル® MKL ライブラリーです。 |
リンクライン・アドバイザーを使用して、<MKL クラスター・ライブラリー>、<BLACS>、および <MKL コア・ライブラリー> の適切なセットを選択します。
インテル® MPI には、さまざまなリンカー用のスクリプトが用意されています。このため、インテル® MPI を使用する場合、最良のリンク方法は以下のコマンドを使用することです。
<インテル® MPI ライブラリーのパス>\mpivars.bat
set lib = <MKL ライブラリーのパス>;%lib%
<mpi リンカー><リンクするファイル> [<MKL クラスター・ライブラリー>] <BLACS><MKL コア・ライブラリー>
まだ定義されていないプレースホルダーは以下の表で説明されています。
<MPI バイナリーのパス> |
デフォルトでは、MPI インストール・ディレクトリーの bin サブディレクトリーです。 |
<MPI リンカー> |
mpicl または mpiifort |
最適化に関する注意事項 |
---|
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。 注意事項の改訂 #20110804 |