インテル® MKL 11.3 ユーザーズガイド
異なるメッセージ・パッシング・インターフェイス (MPI) ライブラリーはアプリケーション・プログラミング・インターフェイス (API) レベルでは互換性がありますが、アプリケーション・バイナリー・インターフェイス (ABI) レベルでは互換性がない場合があります。そのため、インテル® MKL では特定の MPI ライブラリーをサポートする事前ビルド BLACS ライブラリーのセットを提供しています。しかし、ほかの MPI ライブラリーをインテル® MKL で使用することはできません。この問題を解決するため、インテル® MKL には、MPI に依存しない ABI をインテル® MKL に提供する、MKLMPI アダプターが含まれています。アダプターはソースコードで提供されます。デフォルトでサポートされていない MPI ライブラリーをインテル® MKL で使用するには、アダプターを使用してカスタム・スタティックまたはダイナミック BLACS ライブラリーをビルドし、事前ビルド・ライブラリーと同様に使用します。
MKLMPI アダプターは、<mkl ディレクトリー>/interfaces/mklmpi ディレクトリーにあります。
カスタム BLACS ライブラリーをビルドするには、上記のディレクトリーから make コマンドを実行します。
次に例を示します。
make libintel64
このコマンドは、現在のシェル環境の MPI コンパイラーを使用して、スタティック・カスタム BLACS ライブラリー libmkl_blacs_custom_lp64.a をビルドします。 カスタム・ライブラリーのビルド方法を定義するターゲットおよび変数は、<mkl ディレクトリー>/interfaces/mklmpi/makefile を参照してください。 MPICC 変数でコンパイラーを指定できます。
ビルドプロセスの制御についての詳細は、次のコマンドを使用してドキュメントを参照してください。
make help
事前ビルド BLACS ライブラリーを使用するのと全く同じ方法でカスタム BLACS ライブラリーを使用し、カスタム・ライブラリーをリンカーに渡します。 例えば、libmkl_blacs_intelmpi_lp64.aライブラリーを渡す代わりに、libmkl_blacs_custom_lp64.a を渡します。