はいといいえ。
使用するタグがすべての場合で同じである場合、in1==stuff1とin2==stuff2であることを確認できますか?
はい。sendとrecvの間には決定論的な1:1の相関関係があり、正しい入力を正しいrecvバッファーに取得します。この動作は標準によって保証されており、すべてのMPI実装によって強制されます。
いいえ。内部メッセージの進行の正確な順序と、受信側のバッファーが入力される正確な順序は、ブラックボックスのようなものです。特に、複数の処理中のバッファーを使用したRDMAスタイルのメッセージ転送が使用されている場合(InfiniBandなど)。 )。
コードが複数のスレッドを使用していて、MPI_TestまたはMPI_Waitを使用するのではなく、完全性を判断するためにバッファーを検査している場合(たとえば、ビットが切り替わるのを待っている場合)、メッセージが順不同で到着する可能性があります(ただし、正しいバッファーにある) )。
コードがin1=stuff1が入力される前に入力されることに依存している場合、in2 = stuff2が受信側に入力され、両方のメッセージに単一の送信ランクがある場合、MPI_Issend(非ブロッキング、同期送信)を使用すると、メッセージが順番に受信しました。複数の送信ランクからの複数のrecvのバッファポピュレーションの順序を保証する必要がある場合は、各revcの間に何らかのブロッキング呼び出しが必要です(MPI_Recv、MPI_Barrier、MPI_Waitなど)。