Н., Пескова Е. Е., Шаманаев П. А. Основы параллельного программирования с использованием технологий mpi и openmp учебное пособие саранск издательство свмо 2013 2


int MPI_Recv(void *buf, int count, MPI_Datatype type, int source, int



Pdf көрінісі
бет12/53
Дата07.06.2023
өлшемі6.58 Mb.
#474796
1   ...   8   9   10   11   12   13   14   15   ...   53
ParProg MPI OpenMP

int MPI_Recv(void *buf, int count, MPI_Datatype type, int source, int 
tag, MPI_Comm comm, MPI_Status *status), где 
• buf, count, type — буфер памяти для приема сообщения, назначение 
каждого отдельного параметра соответствует описанию в MPI_Send
• source — ранг процесса, от которого должен быть выполнен прием 
сообщения; 
• tag — тег сообщения, которое должно быть принято для процесса; 
• comm — коммуникатор, в рамках которого выполняется передача 
данных; 
• status – указатель на структуру данных с информацией о результате 
выполнения операции приема данных. 
Следует отметить: 
• буфер памяти должен быть достаточным для приема сообщения. 
При нехватке памяти часть сообщения будет потеряна и в коде 
завершения функции будет зафиксирована ошибка переполнения; с 
другой стороны, принимаемое сообщение может быть и короче, чем 
размер приемного буфера, в таком случае изменятся только участки 
буфера, затронутые принятым сообщением; 
• типы элементов передаваемого и принимаемого сообщения 
должны совпадать; 
• при необходимости приема сообщения от любого процесса-
отправителя для параметра source может быть указано значение 


17 
MPI_ANY_SOURCE (в отличие от функции передачи MPI_Send, которая 
отсылает сообщение строго определенному адресату); 
• при необходимости приема сообщения с любым тегом для 
параметра tag может быть указано значение MPI_ANY_TAG (при 
использовании функции MPI_Send должно быть указано конкретное 
значение тега); 
• в отличие от параметров "процесс-получатель" и "тег", параметр 
"коммуникатор" не имеет значения, означающего "любой коммуникатор"; 
• параметр status позволяет определить ряд характеристик принятого 
сообщения: 


Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   53




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет