私は練習のためにここで行っているコードを見ています。オープンMPIの削減は同期化されていますか?
http://www.mcs.anl.gov/research/projects/mpi/usingmpi/examples/simplempi/main.html
私はここで示した部分について混乱しています。
MPI::COMM_WORLD.Reduce(&mypi, &pi, 1, MPI::DOUBLE, MPI::SUM, 0);
if (rank == 0)
cout << "pi is approximately " << pi
<< ", Error is " << fabs(pi - PI25DT)
<< endl;
私の質問MPIは他のすべてのプロセスは、(この場合には、ランク1-3とプログラム)が終了したら、知っているし、その結果が完了したことの機能を削減するんでしょうか?
すべての通信は完了するまでブロックされますか? –
すべての[_collective_ communication calls](http://www.netlib.org/utk/papers/mpi-book/node91.html#SECTION00500000000000000000)doは、指定されたグループ内の他のすべてのプロセスが一致する呼び出しに達しました。 – suszterpatt
@suszterpatt、それは本当です。 – jman