3

MPI_Wait を使用して MPI リクエストが完了するのを待つ必要がある理由を知りたいのですが。

MPI_Send スコープの最後で MPI_Wait メソッドを使用しますが、なぜでしょうか? 私の理解では、MPI_Send はメッセージを送信するだけで、要求が完了するのを待ちませんが、MPI_ISend はそうします!

ありがとう。

4

1 に答える 1

2

@Hristo Ilievが言ったことを要約すると、への呼び出しを呼び出すべきではありません(またMPI_WAIT、呼び出すこともできません) MPI_SEND。呼び出しには、関数からの戻り値として取得するオブジェクトをMPI_WAIT渡す必要があります。そのオブジェクトがないと、MPI は何を待機しようとしているのかを認識できません。MPI_RequestMPI_I<something>

したがって、最終的にはあなたの推論は正しいです。を待つMPI_SEND必要はありませんが、 を待つ必要がありますMPI_ISEND

于 2013-07-11T12:48:56.837 に答える