Нет стандартного способа сделать это.
Реализация пары send / recv с неблокирующими вызовами (например, MPI_Isend, MPI_Irecv) и использование MPI_Test и MPI_Cancel является одним из возможных решений.
В зависимости от характера ресурса и количества раз, которое в программе требуется эта функция, вы также можете рассмотреть возможность реализации MPI_ISend как объекта «постоянного запроса».Здесь больше информации: Постоянные сообщения .
Преимущество постоянного запроса заключается в том, что запрос может быть сформирован и затем выполнен только в том случае, если ресурс действительно доступен ... при условии, что ресурс можно проверить независимо от фактического вызова MPI_ *.Постоянный запрос на связь может многократно использоваться в программе без необходимости реформирования всего вызова MPI_Send / MPI_Recv.