Основы MPI: Шесть основных функций |
Отправка сообщения
В MPI существует множество оттенков для отправок и получений.
Это одна из причин того, что MPI снабжена более чем 125 функциями.
В нашем основном множестве из шести вызовов мы рассмотрим
только один тип отправки и один тип получения.
MPI_Send является блокирующей отправкой.
Это означает, что вызов не возвращает
управление в вашу программу до тех пор пока все данные не будут скопированы из расположения,
которое вы точно определили в листе параметров. Из-за этого, Вы
можете изменить данные после вызова, что не отразится на
оригинальном сообщении.
(Существуют неблокирующие отправления, в которых это не так.)
- int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
Параметры:
- buf - начало буфера, содержащего данные, которые будут отосланы.
Для C это - адрес.
- count - число элементов, которые будут отосланы (не байт)
- datatype - тип данных
- dest - ранг процесса, места назначения, для сообщения
- tag - произвольное число, которое можно использовать для отличия от других сообщений
- comm - (определенный) коммуникатор
- (ierror - возвращаемый функцией код ошибки).
Позднее в этом модуле это будет обсуждено более детально.