Заставить процессы действовать по-разному, зависит от того, получило ли оно сообщение от другого процесса? - PullRequest
1 голос
/ 06 октября 2011

Моей программе нужен Процесс 0, чтобы продолжать увеличивать счетчик и отправлять сообщения, пока не получит сообщение от последнего процесса в программе, который затем имеет Процесс 0, уменьшающий тот же счетчик и отправляющий сообщения. Я не знаю, как «прослушать» / опросить, было ли получено сообщение

Мой случай: (я против)

Пока Процесс 0 не получил 0 от процесса 1, i ++ и отправил сообщение.

После того, как Процесс 0 получил сообщение, я-- и отправил сообщение.

Или в более общем смысле:

Пока Процесс 0 не получил сообщение от процесса 1, выполните A

После того, как Процесс 0 получил сообщение от процесса 1, выполните B

Как мне сделать это в MPI?

Большое спасибо!

1 Ответ

0 голосов
/ 07 октября 2011

Как правило, вы будете использовать MPI_Isend, MPI_Irecv и MPI_Test для опроса. Прочитайте главы своей книги о неблокирующем общении.

...