Я знаю, что MPI_Send()
- это блокирующий вызов, который ждет, пока не будет безопасно модифицировать буфер приложения для повторного использования. Для того, чтобы синхронный вызов отправки (должно быть рукопожатие с приемником), мы должны использовать MPI_Ssend()
.
Я хочу знать разницу между ними. Предположим, мне нужно отправить количество исправлений Bytes между процессами, на которые, как предполагается, требуется больше времени?
Со мной код хорошо работает с вызовом MPI_Send(), но для неопределенного ожидания для MPI_Ssend().
Каковы могут быть возможные причины?
И самое главное, я уверен, что данные принимаются в процессе приема при использовании MPI_Send()
, поэтому этот вывод ничего не ведет к ожиданию рукопожатия при использовании MPI_Ssend()
.
Или я могу сделать вывод: при MPI_Send()
вы можете отправлять данные в самостоятельный процесс, но не можете использовать MPI_Ssend()
?