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


int MPI_Isend(void* buf, int count, MPI_Datatype type,int dest, int tag



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

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


19 
буферу приема после того, как неблокированное получающее действие 
инициировано, до тех пор, пока функция завершения не возвратит 
управление. 
Эти обе функции размещают данные в системном буфере и 
возвращают заголовок этого запроса в request. Request используется
чтобы опросить состояние связи. 
Чтобы закончить неблокированные посылку и получение данных, 
используются завершающие функции MPI_Wait и MPI_Test. Завершение 
посылающего процесса указывает, что он теперь свободен к доступу 
посылающегося буфера. Завершение получающего процесса указывает, 
что буфер приема данных содержит сообщение, приемник свободен к его 
доступу. 


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




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

    Басты бет