26

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

4

7 に答える 7

17

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

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

于 2010-02-16T18:21:12.657 に答える
8

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

于 2010-02-16T18:16:34.717 に答える
7

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

于 2010-02-16T18:20:42.983 に答える
6

新しい開発にはMPIC++バインディングを使用しないことをお勧めします。プログラム自体はC++にすることができますが、MPIライブラリへのCインターフェイスを使用するために余分な労力を費やしてください。

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

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

于 2010-02-17T16:51:24.867 に答える
6

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

于 2010-02-18T09:52:43.197 に答える
2

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

于 2010-02-16T18:18:06.687 に答える
2

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

于 2010-02-16T18:36:03.143 に答える