MPI_Wait を使用して MPI リクエストが完了するのを待つ必要がある理由を知りたいのですが。
MPI_Send スコープの最後で MPI_Wait メソッドを使用しますが、なぜでしょうか? 私の理解では、MPI_Send はメッセージを送信するだけで、要求が完了するのを待ちませんが、MPI_ISend はそうします!
ありがとう。
MPI_Wait を使用して MPI リクエストが完了するのを待つ必要がある理由を知りたいのですが。
MPI_Send スコープの最後で MPI_Wait メソッドを使用しますが、なぜでしょうか? 私の理解では、MPI_Send はメッセージを送信するだけで、要求が完了するのを待ちませんが、MPI_ISend はそうします!
ありがとう。
@Hristo Ilievが言ったことを要約すると、への呼び出しを呼び出すべきではありません(またMPI_WAIT
、呼び出すこともできません) MPI_SEND
。呼び出しには、関数からの戻り値として取得するオブジェクトをMPI_WAIT
渡す必要があります。そのオブジェクトがないと、MPI は何を待機しようとしているのかを認識できません。MPI_Request
MPI_I<something>
したがって、最終的にはあなたの推論は正しいです。を待つMPI_SEND
必要はありませんが、 を待つ必要がありますMPI_ISEND
。