Могу ли я писать из разных MPI_Irecv в один и тот же буфер / массив в разных позициях индекса? - PullRequest
3 голосов
/ 11 апреля 2011
MPI_IRecv(&myArr[0], 5, MPI_INT, 1, MPI_ANY_TAG, MPI_COMM_WORLD, request);
MPI_IRecv(&myArr[5], 5, MPI_INT, 2, MPI_ANY_TAG, MPI_COMM_WORLD, request);
MPI_IRecv(&myArr[10], 5, MPI_INT, 3, MPI_ANY_TAG, MPI_COMM_WORLD, request);

Привет, c / mpi позволяет вам записывать в разные области одного и того же массива из получения неблокируемого mpi? Приведенный выше код показывает примерно то, чего я хотел бы достичь.

1 Ответ

3 голосов
/ 11 апреля 2011

Да. Вам не разрешено читать или изменять буфер неблокирующего запроса на связь, пока связь не будет завершена; но что касается MPI, неперекрывающиеся области одного и того же массива являются совершенно разными буферами.

...