Средства программирования для многопроцессорных вычислительных систем. Немнюгин C.А. - 33 стр.

UptoLike

Составители: 

33
процесса
.
Теги
могут
использоваться
и
для
соблюдения
определенного
порядка
приема
сообщений
.
Прием
сообщения
начинается
с
подготовки
буфера
достаточного
размера
.
В
этот
буфер
записываются
принимаемые
данные
.
Операция
отправки
или
приема
сообщения
считается
завершенной
,
если
программа
может
вновь
использовать
буферы
сообщений
.
Разновидности обменов сообщениями
В
MPI
реализованы
разные
виды
обменов
.
Прежде
всего
,
это
двухточечные
(
задействованы
только
два
процесса
)
и
коллективные
(
задействованы
более
двух
процессов
).
Двухточечные
обмены
используются
для
организации
локальных
и
неструктурированных
коммуникаций
.
При
выполнении
глобальных
операций
используются
коллективные
обмены
.
Асинхронные
коммуникации
реализуются
с
помощью
запросов
о
получении
сообщений
.
Имеется
несколько
разновидностей
двухточечного
обмена
.
Блокирующие
прием
/
передача
приостанавливают
выполнение
процесса
на
время
приема
сообщения
.
Неблокирующие
прием
/
передача
выполнение
процесса
продолжается
в
фоновом
режиме
,
а
программа
в
нужный
момент
может
запросить
подтверждение
завершения
приема
сообщения
.
C
инхронный
обмен
сопровождается
уведомлением
об
окончании
приема
сообщения
.
Асинхронный
обмен
уведомлением
не
сопровождается
.
Привязка к языку Fortran
Имена
подпрограмм
и
констант
MPI
в
программах
на
языке
Fortran
начинаются
с
MPI_
.
При
вызове
подпрограмм
коды
завершения
передаются
через
дополнительный
параметр
целого
типа
(
находится
на
последнем
месте
в
списке
параметров
подпрограммы
).
Код
успешного
завершения
MPI_SUCCESS
.
Константы
и
другие
объекты
MPI
описываются
в
файле
mpif.h,
который
включается
в
MPI-
программу
с
помощью
оператора
include
.
В
некоторых
подпрограммах
используется
переменная
status
,
которая
является
массивом
стандартного
целого
типа
.
Его
размер
MPI_STATUS_SIZE
.
При
обращении
к
подпрограммам
MPI
используются
типы
данных
MPI,
для
большинства
из
которых
имеется
соответствие
базовым
типам
языка
(
см
.
табл
. 1)
Типы
MPI_Datatype
и
MPI_Comm
эмулируются
стандартным
целым
типом
языка
Fortran (Integer).
В
программах
на
языке
C
используются
библиотечные
функции
MPI,
в
программах
на
языке
Fortran
процедуры
.
Таблица 1.
Типы
данных
MPI
для
языка
Fortran
Тип данных MPI Тип данных Fortran
MPI_INTEGER Integer
MPI_REAL Real