MPI отправляет, что «не может быть буферизовано сетью» - PullRequest
0 голосов
/ 20 декабря 2018

Я следовал учебному пособию по http://mpitutorial.com/tutorials/point-to-point-communication-application-random-walk/, и есть предложение, которое говорит: " Если посылки в конечном итоге не могут быть буферизованы сетью , они будут блокироваться до тех пор, пока не будет получен соответствующий прием.отправлено. "

Когда MPI_SEND() не может быть буферизован сетью?

Я думаю, что этот вопрос уже задавался, но я, честно говоря, не знаю, какие ключевые слова искать здесь.

1 Ответ

0 голосов
/ 20 декабря 2018

Короче говоря, это зависит.

Более длинная история, это зависит от вашей библиотеки MPI, размера сообщения, используемого межсоединения, сколько сообщений было буферизовано ранее, используемых вами параметров настройки,и другие факторы.

Имейте в виду, что программа, которая предполагает, что MPI_Send() вернется, если не было отправлено ни одного совпадающего сообщения, является неверной по отношению к стандарту MPI.

Другой способ выразить этоправильная программа MPI не заблокируется, если вы замените все MPI_Send() на MPI_Ssend().

...