1

私は、MPIを使用してこの問題を並列化する必要があるプロジェクトに取り組んでいます。したがって、基本的な考え方は、各プロセスがポイントのシェアを取得し、テストを実行して(ポイントが円内にあるかどうかに関係なく)、MPI_Reduceを呼び出すことです。その後、ルートは縮小された結果を取得し、最終的な答えを提示します。

私が混乱しているのは、何を減らすかです。各プロセスで円周率を計算する必要があります。円周率を使用してreduceを呼び出し、ルートは円周率の値の平均を取りますか?または、各プロセス呼び出しはヒット数(円内の成功したポイント)で減少し、ルートはこの結果を使用して円周率を計算する必要がありますか?これが明確であることを願っています。ありがとう。

4

1 に答える 1

2

私は間違いなく後者を行います。各プロセスにヒット数を返し、ルート関数にこれらの結果を使用してpiを計算させます。このようにして、これを連続して計算する場合と同じプロセスを実行します。

于 2012-02-15T02:17:27.180 に答える