インテル® MPI ライブラリー
2016.03.11
|
複数のファブリックを備えたインテル® アーキテクチャー・ベースのクラスターでアプリケーションを高速化
- 34 万のプロセスまでスケーリング
- 最新の MPI-3 規格をサポート
- MPICH ABI 互換
|
関連記事
リソース
FAQ
すべて開く
すべて閉じる
よくある問い合わせ
-
インテル® MPI ライブラリーにはどのような種類のライセンスが提供されていますか?
ランタイムライセンスには、インテル® MPI ベースのアプリケーションを実行するために必要なものがすべて含まれています。ライセンスは、無料で永久的です。開発者ライセンスには、アプリケーションのビルドと実行に必要なものがすべて含まれています。ライセンスは、有料で永久的です。インテル® MPI ベースのアプリケーションを実行するために必要なコンポーネントは、無料での再配布が認められています
-
どのようなときにインテル® MPI ライブラリーの開発者ライセンスが必要になりますか?
開発者ライセンスとランタイムライセンスはマシン上で共存でき、インテル MPI ベースのアプリケーション利用者が、ユーザー定義のサブルーチンを含むアプリケーションに再リンクすることは問題ありません。実際に MPI コードを記述する (MPI_* 関数を直接呼び出す) 場合、開発者ライセンスが必要です。
-
私は ISV ですが、インテル® MPI ライブラリーを使用した製品の出荷を予定しています。私たちの製品を利用する顧客は、この製品を利用するためインテル® MPI ライブラリーの開発キットを購入する必要はありますか?
いいえ。インテル® MPI ライブラリーを製品に同梱するには、3 つのモデルがあります。
- ISV は、インテル® MPI ライブラリー開発キットに含まれるランタイム・コンポーネントを再配布することができます (再配布可能なファイルについては、インテル® MPI ライブラリーのインストール・ディレクトリーに含まれる redist.txt ファイルを参照ください)。
- 顧客が、システム構成コンポーネントとしてインテル® MPI ライブラリーをシステムにインストールした場合、ランタイム開発キットをインテル® MPI ライブラリーの製品ページから無料でダウンロードすることができます。
- インテル® MPI ライブラリー・ランタイム環境 (RTO) は、ベンダーによってプリインストールされるアプリケーションに同梱することができます。
-
インテル® MPI ライブラリーの入手方法
-
Microsoft* Windows* 対応のインテル® MPI ライブラリーはありますか?
はい。インテル® MPI ライブラリー for Windows* が用意されています。
-
インテル® MPI ライブラリーは、64 ビット・オペレーティング・システム上での 32 ビット・アプリケーションをサポートしていますか?
いいえ。インテル® MPI ライブラリーは、64 ビット・オペレーティング・システム上では 64 ビット・アプリケーションのみをサポートします。
-
インテル® MPI ライブラリーは、AMD プラットフォームで動作しますか?
はい。インテル® MPI ライブラリーは、AMD プラットフォームで動作することが知られていますが、これまでのところ、AMD プラットフォーム固有の問題は報告されていません。
-
インテル® MPI ライブラリーは、並列 I/O 呼び出しをサポートしていますか?
はい。並列ファイル I/O は、MPI-2 で標準化されており、インテル® MPI ライブラリーによって完全に実装されています。現在サポートされているファイルシステムには、UNIX* ファイルシステム (UFS)、ネットワーク・ファイル・システム (NFS)、並列仮想ファイルシステム (PVFS2) と Lustre* があります。
-
インテル® MPI ライブラリーは、片方向通信をサポートしていますか?
はい。インテル® MPI ライブラリーは、アクティブターゲットおよびパッシブターゲット両方の片方向通信をサポートします。唯一の例外は、ターゲットプロセスが MPI 関数を呼び出さいない場合のパッシブターゲットの片方向通信です。さらに、MPI-3.0 の新しい片方向呼び出しとメモリーモデルを介して利用できます。
-
インテル® MPI ライブラリーがサポートする DAPL* バージョンは?
インテル® MPI ライブラリーは、InfiniBand* や Myrinet* などの高速インターコネクト上で実行するため、ファブリックに依存しない API として DAPL* (Direct Access Programming Library) を使用します。現在のインテル® MPI ライブラリーは、DAPL* バージョン 1.1、1.2 と同様に DAPL* バージョン 2.0 対応のプロバイダーをサポートしています。インテル® MPI ライブラリーは、自動的に DAPL* のバージョンを判定し、標準化に準拠したプロバイダーを決定します。
-
インテル® MPI ライブラリーがサポートするコンパイラーにはどのようなものがありますか?
インテル® MPI ライブラリーは、インテル® コンパイラー 13.1 から 16.0 (以降のバージョンも) だけでなく、GNU* C、C++、Fortran77 3.3 以降、そして GNU* Fortran95 4.0 以降をサポートします。さらに、インテル® MPI ライブラリーは、PGI* C、PGI* Fortran、および Absoft* Fortran77 コンパイラー向けのソースキットをバンドルしています。使用にあたっては、以下の注意が必要です。
- PGI* コンパイラーでコンパイルするソースでは、long double の実体を転送してはいけません。
- Absoft* ベースのビルドに際し、-g77 と -B108 コンパイラー・オプションを指定する必要があります。
- インストールと正しいコンパイラーの選択は開発者に任されています。
- それぞれのコンパイラーのランタイムが、各ノードに正しくインストールされていることを確認する必要があります。
PGI* C++、PGI* Fortran 95、および Absoft* Fortran 95 とのバインドをサポートする場合、インテル® MPI バインド・ライブラリーを別途ビルドする必要があります。
-
インテル® MPI ライブラリーは、一般的なリソース・マネージャーと共存できますか?
はい。インテル® MPI ライブラリーは、OpenPBS*、PBS Pro*、Torque、LSF*、Parallelnavi*、NetBatch*、SLURM*、SGE*、LoadLeveler* および Lava* バッチ・スケジューラーをサポートしています。PBS 互換のリソース・マネージャー (OpenPBS*、PBS Pro*、Torque* など) だけでなく LSF* から実行を開始されたセッションは、容易にジョブ開始コマンド mpirun を認識することができます。
-
MPI と OpenMP* の両方を使用するアプリケーションがありますが、インテル® MPI ライブラリーでは、このようなハイブリッド機能をサポートしていますか?
はい、インテル® MPI は MPI/OpenMP* が混在するアプリケーションをサポートしています。
-
インテル® MPI ライブラリーは、フォールトトレラントですか?
ある程度は、はいです。MPI の標準規格は、まだ中止された MPI ランクの適切な取り扱いを定義していないことに注意してください。インテル® MPI ライブラリーは、デフォルトでは、プロセスのいずれかが異常終了した場合、アプリケーション全体を停止します。この振る舞いは、プロセスの 1 つが応答を停止した場合でも、アプリケーションの実行を継続するため、実行時のオプションによってオーバーライドできます。
-
インテル® MPI ライブラリーは、スレッドセーフですか?
はい。インテル® MPI ライブラリーには、MPI_THREAD_MULTIPLE レベルでスレッドセーフなライブラリーが含まれています。複数のスレッドが、インテル® MPI ライブラリー呼び出しを同時に行うことができます。インテル® MPI ライブラリーのスレッドセーフ版とリンクを行うには、コンパイル時に -mt_mpi オプションを使用してください。次のいずれかのレベルでスレッドのサポートを要求した場合、スレッドセーフなライブラリーが使用されます。
- MPI_THREAD_FUNNELED
- MPI_THREAD_SERIALIZED
- MPI_THREAD_MULTIPLE
-
システムにどのバージョンのインテル® MPI ライブラリーがインストールされているか知るにはどうすればいいですか?
“mpirun -V” コマンドを使用してバージョンとビルド情報を取得できます。
$ mpirun –V #バージョン情報を表示します。
公式パッケージである場合、インストール・ディレクトリーにある mpisupport.txt ファイルもしくは、リリースノートを開きバージョン情報を検索します:
$ cat /opt/intel/mpi/5.0/mpisupport.txt
最後に、完全なビルドの識別情報を取得するため、I_MPI_VERSION に 1 を設定して MPI プログラムを実行し、"build" を grep します。
$ mpirun –n 2 –env ./a.out | grep –i build
これは、ビルド日付ごとに行を取得します。この情報のほとんどは、ライブラリーに埋め込まれている文字列をユーティリティーで検索できます。
$ strings /opt/intel/mpi/5.0/lib/libmpi.so | grep –i build
-
インテル® MPI ライブラリーは、異種クラスターをサポートしていますか?
はい。インテル® MPI ライブラリーは、異なるオペレーティング・システムだけではなく、混在したインテル® プロセッサー環境をサポートします。ライブラリーは、実行時に検出されたアーキテクチャーに応じてデフォルトの最適化を提供します。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。