При обсуждении процедур MPI используются следующие семантические термины.
MPI_ISEND
. Слово законченный используется применительно к
операциям, запросам и связям. Операция завершена, когда пользователю
позволено многократно использовать ресурсы, и любому буферу вывода быть
модифицированным; то есть вызов MPI_TEST
возвратит flag = true
.
Запрос закончен вызовом ждать, который возвращает состояние или
вызовом проверить или получить состояние, который возвращает
flag = true
. Этот вызов завершения имеет два эффекта: состояние извлечено
из запроса; в случае проверить и ждать, если запрос был непостоянен,
оно освобождено.
MPI_INT
,
MPI_FLOAT_INT
или MPI_UB
) или тип данных, созданный с помощью
вызовов MPI_TYPE_CREATE_F90_INTEGER
,
MPI_TYPE_CREATE_F90_REAL
или
MPI_TYPE_CREATE_F90_COMPLEX
. Первый тип будет назван, а второй из
типов неназван.
MPI_TYPE_CONTIGUOUS
,
MPI_TYPE_VECTOR
, MPI_TYPE_INDEXED
,
MPI_TYPE_INDEXED_BLOCK
,
MPI_TYPE_CREATE_SUBARRAY
, MPI_TYPE_DUP
или
MPI_TYPE_CREATE_DARRAY
. Такой тип данных переносимый, потому
что все смещения в типе данных - в терминах степеней одного
предопределенного типа данных. Поэтому, если такой тип данных удовлетворяет
размещению данных в одной памяти, он удовлетворял бы соответствующему
размещению данных в другой памяти, если использовались те же самые
объявления, даже если эти две системы имеют различные архитектуры. С другой
стороны, если тип данных был создан, используя
MPI_TYPE_CREATE_HINDEXED
,
MPI_TYPE_CREATE_HVECTOR
или
MPI_TYPE_CREATE_STRUCT
, то тип данных содержит явные
смещения байта (например, обеспечивая дополнение, чтобы выполнить
ограничения выравнивания). Эти смещения вряд ли будут выбраны правильно,
если они соответствуют размещению данных на одной памяти, но используются
для размещений данных на другом процессе, выполняющемся на процессоре с
другой архитектурой.