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



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

2.4.1 Обмен сообщениями с блокировкой 
 
Для передачи сообщения процесс-отправитель должен выполнить 
функцию: 
int MPI_Send(void *buf, int count, MPI_Datatype type, int dest, int tag, 
MPI_Comm comm), где 
• buf — адрес буфера памяти, в котором располагаются данные 
отправляемого сообщения; 
• count — количество элементов данных в сообщении; 
• type — тип элементов данных пересылаемого сообщения; 
• dest — ранг процесса, которому отправляется сообщение; 
• tag — значение-тег, используемое для идентификации сообщения; 
• comm — коммуникатор, в рамках которого выполняется передача 
данных [4]. 


15 
Следует отметить: 
• отправляемое сообщение определяется через указание блока 
памяти (буфера), в котором это сообщение располагается. Используемая 
для указания буфера триада (buf, count, type) входит в состав параметров 
практически всех функций передачи данных; 
• процессы, между которыми выполняется передача данных, в 
обязательном 
порядке 
должны 
принадлежать 
коммуникатору, 
указываемому в функции MPI_Send
• параметр tag используется только при необходимости различения 
передаваемых сообщений, в противном случае в качестве значения 
параметра может быть использовано произвольное положительное целое 
число
(см. также описание функции MPI_Recv). 
Сразу же после завершения функции MPI_Send процесс-
отправитель может начать повторно использовать буфер памяти, в 
котором располагалось отправляемое сообщение. Также следует 
понимать, что в момент завершения функции MPI_Send состояние самого 
пересылаемого 
сообщения 
может 
быть 
совершенно 
различным: 
сообщение может располагаться в процессе-отправителе, может 
находиться в состоянии передачи, может храниться в процессе-получателе 
или же может быть принято процессом-получателем при помощи функции 


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




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

    Басты бет