11
(A, 10, MPI_REAL) описывает вектор А из 10 вещественных чисел на
Фортране, вне зависимости от длины и формата числа с плавающей
точкой. Реализация MPI для неоднородной сети гарантирует, что будут
приняты те же 10 вещественных чисел, даже если принимающая
машина имеет совершенно другой формат плавающей точки.
Используя средства MPI, пользователь может определять свои
собственные типы данных, причем эти типы могут описывать
"распределенные" по памяти (не непрерывные) данные.
2.2. Понятие коммуникаторов
Разделение семейств сообщений. Почти все системы передачи
сообщений предусматривают аргумент
tag для операций send и
receive. Этот аргумент позволяет программисту обрабатывать
приходящие сообщения упорядоченным образом, даже если
сообщения поступают в порядке, отличном от желаемого. Системы
передачи сообщений помещают сообщения, пришедшие "с неверной
меткой", в очередь до тех пор, пока программа не будет готова принять
их. Обычно имеется возможность специфицировать "универсальную"
метку, которая сопоставляется с любой меткой.
Этот механизм оказался необходимым, но не достаточным,
поскольку произвольность выбора метки означает, что по всей
программе метки должны использоваться единым заранее
определенным образом. Особые трудности возникают в случае
библиотек, написанных далеко от прикладного программиста во
времени и пространстве, так как сообщения этой библиотеки не
должны быть случайно приняты прикладной программой.
Решение MPI состоит в расширении понятия метки до нового
понятия контекста. Контексты размещаются во время исполнения
программы системой в ответ на запрос пользователя (или библиотеки)
и используются для сопоставления сообщений. От метки контексты
отличаются тем, что вырабатываются системой, а не пользователем, и
никакое "универсальное" сопоставление не допускается.
MPI сохраняет и обычное определение метки сообщения,
включающего качество универсального сопоставления.
Наименование процессов. Процессы принадлежат группам. Если
группа содержит n процессов, то процессы внутри группы
идентифицируются рангами - целыми числами от 0 до n-1. В рамках
стандарта MPI предполагается, что существует начальная группа,