C++コードにMPIを使用する予定です。コンピューターにMPICH2をインストールしました。しかし、MPIについてはよくわからないので、いくつかの資料を見つけたいと思っています。専門家が私にいくつかの良いmaterailsを推薦してくれることを願っています。どんなアドバイスもいただければ幸いです。
あなたはすでにC++のプログラミング方法をかなりよく知っていて、並列プログラミングの基本を理解している(または少なくともコードを並列化する方法を知っている)と思います。
私は本をチェックします MPIを使用して 最初に。使用MPI 2は、MPi-2の新しいビットの使用について説明している次の本です。両方の本は、MPIライブラリと標準化の取り組みを主導しました。MPIを使用することの良い点の1つは、オンラインで利用できるため、お金をかけずにチェックアウトできることです:-)
MPIを使用した並列プログラミング Peter S.Pachecoによる優れた入門書です。この本はCを使用していますが、C++ MPIバインディングを使用するように簡単に移行できるはずです。
LLNLには かなり良いもの があります。
新しい開発にはMPI C++バインディングを使用しないことをお勧めします。プログラム自体はC++でもかまいませんが、MPIライブラリ。
MPIフォーラムはC++バインディングを非推奨にしているため、MPIの将来の実装では、おそらくC++のサポートが終了します。 C++になります。基本は機能しますが、動的プロセス(つまり、スポーン)、PMPIインターフェイスなどはあまりサポートされていません。
CおよびFortranバインディングは、すべての主要な実装で十分にサポートされており、予見可能な将来にわたって引き続きサポートされます。
@semiuselessが指摘したように、MPIフォーラムはC++バインディングを非推奨にしています。その理由の1つは、 boost MPI interface はるかに優れた仕事をします。
Mpich2には、C++/Cのいくつかの例が付属しています。おそらく最も有名なのは、円周率を並列に計算するcpiです。他の人が提案したマニュアル/本と一緒にプログラムを読んでください。このようにして、実際に機能するコードをすぐに確認し、独自の変更を加えて操作することができます。
いくつかの入門マニュアルは LAM/MPIサイト にあります。