Обновлено : Джеремия Уиллкок ниже в комментариях, я считаю правильным, и этот ответ был неправильным.
Если три IS-конца вызываются последовательно, и все получатели совпадают с ними, то не имеет значения, является ли операция отправки большей, быстрой или любой другой; Непревзойденная гарантия MPI говорит вам, что сообщения будут поступать (и, следовательно, будут доступны для Recv) в том порядке, в котором были сделаны Isends.
Если вызов для ISend был отложен, именно так я первоначально интерпретировал вопрос, или если вызов не удался, как было предложено (но учтите, что у вас возникнут другие проблемы позже, если вызов не удался) тогда первоначальный ответ верен: если Получатели соответствуют любому всем Isends, и вызов ко второму ISend каким-то образом задерживается, тогда первый MPI_Recv () получит первый Isend, второй Recv получит третий Isend, а третий будет зависать до тех пор, пока не произойдет второй Isend.
Если вы хотите убедиться, что первый MPI_Recv получает конкретное сообщение, вы должны использовать теги, чтобы различать различные сообщения, и чтобы приемное указало этот тег.