web-dev-qa-db-ja.com

C ++のMPI)を学習するための最良のチュートリアルは何ですか?

C++コードにMPIを使用する予定です。コンピューターにMPICH2をインストールしました。しかし、MPIについてはよくわからないので、いくつかの資料を見つけたいと思っています。専門家が私にいくつかの良いmaterailsを推薦してくれることを願っています。どんなアドバイスもいただければ幸いです。

26
Jackie

あなたはすでにC++のプログラミング方法をかなりよく知っていて、並列プログラミングの基本を理解している(または少なくともコードを並列化する方法を知っている)と思います。

私は本を​​チェックします MPIを使用して 最初に。使用MPI 2は、MPi-2の新しいビットの使用について説明している次の本です。両方の本は、MPIライブラリと標準化の取り組みを主導しました。MPIを使用することの良い点の1つは、オンラインで利用できるため、お金をかけずにチェックアウトできることです:-)

17
J Teller

MPIを使用した並列プログラミング Peter S.Pachecoによる優れた入門書です。この本はCを使用していますが、C++ MPIバインディングを使用するように簡単に移行できるはずです。

7
Taylor Leese

LLNLには かなり良いもの があります。

7
Jerry Coffin

新しい開発にはMPI C++バインディングを使用しないことをお勧めします。プログラム自体はC++でもかまいませんが、MPIライブラリ。

MPIフォーラムはC++バインディングを非推奨にしているため、MPIの将来の実装では、おそらくC++のサポートが終了します。 C++になります。基本は機能しますが、動的プロセス(つまり、スポーン)、PMPIインターフェイスなどはあまりサポートされていません。

CおよびFortranバインディングは、すべての主要な実装で十分にサポートされており、予見可能な将来にわたって引き続きサポートされます。

6
Stan Graves

@semiuselessが指摘したように、MPIフォーラムはC++バインディングを非推奨にしています。その理由の1つは、 boost MPI interface はるかに優れた仕事をします。

4
Edric

Mpich2には、C++/Cのいくつかの例が付属しています。おそらく最も有名なのは、円周率を並列に計算するcpiです。他の人が提案したマニュアル/本と一緒にプログラムを読んでください。このようにして、実際に機能するコードをすぐに確認し、独自の変更を加えて操作することができます。

2
Anycorn

いくつかの入門マニュアルは LAM/MPIサイト にあります。

2
shuvalov