カスタム・メッセージ・パッシング・インターフェイスを使用

異なるメッセージ・パッシング・インターフェイス (MPI) ライブラリーはアプリケーション・プログラミング・インターフェイス (API) レベルでは互換性がありますが、アプリケーション・バイナリー・インターフェイス (ABI) レベルでは互換性がない場合があります。そのため、インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) では特定の MPI ライブラリーをサポートする事前ビルドされた BLACS ライブラリーのセットを提供しています。しかし、ほかの MPI ライブラリーをインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) で使用することはできません。このギャップを埋めるため、インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) には、MPI に依存しない ABI を提供する oneMKL MPI ラッパーも含まれています。アダプターはソースコードで提供されます。デフォルトでサポートされていない MPI ライブラリーをインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) で使用するには、アダプターを使用してカスタム・スタティックまたはダイナミック BLACS ライブラリーをビルドし、事前ビルド・ライブラリーと同じように使用します。

カスタム BLACS ライブラリーのビルド

MKL MPI ラッパーは、<mkl ディレクトリー>\/interfaces\/mklmpi ディレクトリーにあります。

カスタム BLACS ライブラリーをビルドするには、上記のディレクトリーで make コマンドを実行します。

次に例を示します。

make libintel64

このコマンドは、現在のシェル環境で MPI コンパイラーを使用して、静的カスタム BLACS ライブラリー libmkl_blacs_custom_lp64.alib をビルドします。カスタム・ライブラリーのビルド方法を定義するターゲットおよび変数は、<mkl ディレクトリー>\/interfaces\/mklmpi\/makefile を参照してください。MPICC 変数でコンパイラーを指定できます。

ビルドプロセスの制御についての詳細は、次のコマンドを使用してドキュメントを参照してください。

make help

カスタム BLACS ライブラリーの使用

静的リンクの場合、事前ビルドされた BLACS ライブラリーを使用するのと全く同じ方法でカスタム・ライブラリーをリンカーに渡します。例えば、libmkl_blacs_intelmpi_lp64.a ライブラリーの代わりに、libmkl_blacs_custom_lp64.a を渡します。

関連情報