Презентации по MPI / 00. MPI введение
.pdfMPI – предопределенные типы данных
●MPI_CHAR
●MPI_SHORT
●MPI_INT
●MPI_LONG
●MPI_UNSIGNED_CHAR
●MPI_UNSIGNED_SHORT
●MPI_UNSIGNED
●MPI_UNSIGNED_LONG
●MPI_FLOAT
●MPI_DOUBLE
●MPI_LONG_DOUBLE
●MPI_BYTE
●MPI_PACKED
MPI – прием и передача данных
●Стандартный режим (standart, MPI_Send) – блокирующий режим, при котором после возврата из функции данные гарантировано сохранены или получены принимающим процессом
●Буферизованный режим (buffered, MPI_Bsend) – локальный режим, при котором данные перед отправкой копируются во внутренний буфер
●Синхронный режим (synchronous, MPI_Ssend) – блокирующий режим, при котором после возвращения из функции данные гарантированно приняты получателем
●Режим готовности (ready, MPI_Rsend) – режим, при котором функция завершится успешно только в том случае, если на момент вызова MPI_Rsend принимающий процесс уже вызвал функцию MPI_Receive
MPI – прием и передача данных
●int MPI_Send (void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
●int MPI_Bsend(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
●int MPI_Ssend(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
●int MPI_Rsend(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
●int MPI_Recv (void* buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status)
MPI - deadlock
MPI_Send( → B) |
MPI_Recv( ← B) |
A |
MPI_Send( → A) |
MPI_Recv( ← A) |
B |
MPI - deadlock
MPI_Ssend( → B) |
MPI_Recv( ← B) |
A |
MPI_Ssend( → A) |
MPI_Recv( ← A) |
B |
MPI - deadlock
MPI_Bsend( → B) |
MPI_Recv( ← B) |
A |
MPI_Bsend( → A) |
MPI_Recv( ← A) |
B |