Buf | начальный адрес буфера посылки (альтернатива) |
Count | число элементов в буфере посылки (неотрицательное целое) |
Datatype | тип данных каждого элемента в буфере посылки (дескриптор) |
dest | номер процесса-получателя (целое) |
tag | тэг сообщения (целое) |
comm. | коммуникатор (дескриптор) |
MPI_SSEND (buf, count, datatype, dest, tag, comm)
buf | начальный адрес буфера посылки (альтернатива) |
count | число элементов в буфере посылки (неотрицательное целое) |
datatype | тип данных каждого элемента в буфере посылки (дескриптор) |
dest | номер процесса-получателя (целое) |
tag | тэг сообщения (целое) |
comm | коммуникатор (дескриптор) |
MPI_RSEND (buf, count, datatype, dest, tag, comm)
buf | начальный адрес буфера посылки (альтернатива) |
count | число элементов в буфере посылки (неотрицательное целое) |
datatype | тип данных каждого элемента в буфере посылки (дескриптор) |
dest | номер процесса-получателя (целое) |
tag | тэг сообщения (целое) |
comm | коммуникатор (дескриптор) |
Имеется только одна операция приема, которая может соответст вовать любому режиму передачи. Эта операция - блокирующая: он завершается только после того, когда приемный буфер уже содержи новое сообщение. Прием может завершаться перед завершением соо ветствующей передачи (конечно, он может завершаться только после того, как передача стартует).
|
|
Распределение и использование буферов
Пользователь может описать буфера, используемые для буферизации сообщений, посылаемых в режиме буферизации. Буферизация выполняется отправителем.
MPI_BUFFER_ATTACH (buffer, size)
buffer | начальный адрес буфера (альтернатива) |
size | размер буфера в байтах (целое) |
Предусмотренный в MPI буфер в памяти пользователя используется для буферизации исходящих сообщений. Буфер используется только сообщениями, посланными в буферизованном режиме. Только один буфер может быть присоединен к процессу за один раз.