функция MPI_Waitsome
Выполняет некоторые из нескольких невыполненных операций.
Синтаксис
int MPIAPI MPI_Waitsome(
int incount,
_Inout_count_(incount) MPI_Request array_of_requests,
_Out_ int *outcount,
_Out_cap_post_count_(incount,*outcount) int *array_of_indices,
_Out_cap_post_count_(incount,*outcount) *array_of_statuses
);
Параметры
incount
Количество записей в параметре array_of_requests .array_of_requests
Массив MPI_Request дескрипторов невыполненных операций.outcount [out]
Количество завершенных запросов.array_of_indices
Массив индексов в array_of_requests завершенных операций. Array_of_requests индексируется от нуля в C и от единицы в Fortran.array_of_statuses
Массив объектов состояния для завершенных операций или MPI_STATUSES_IGNORE.
Возвращаемое значение
Возвращает MPI_SUCCESS при успешном выполнении. В противном случае возвращаемое значение представляет собой код ошибки.
В Fortran возвращаемое значение хранится в параметре IERROR .
Fortran
MPI_WAITSOME(INCOUNT, ARRAY_OF_REQUESTS, OUTCOUNT, ARRAY_OF_INDICES, ARRAY_OF_STATUSES, IERROR)
INTEGER INCOUNT, ARRAY_OF_REQUESTS(*), OUTCOUNT, ARRAY_OF_INDICES(*),
ARRAY_OF_STATUSES(MPI_STATUS_SIZE,*), IERROR
Комментарии
Массив атрибутов находятся в диапазоне от 0 до числа — 1 для C и в диапазоне от 1 до счетчика для Fortran.
Запросы NULL игнорируются; Если все запросы имеют значение NULL, то подпрограмма возвращает значение с параметром outcount, равным MPI_UNDEFINED.
Хотя в array_of_requests можно указать дескриптор запроса несколько раз, такое действие считается ошибочным и может привести к непредвидеемой завершению программы или получению неверных результатов.
MPI_Waitsome предоставляет интерфейс, похожий на вызовы Unix "select" или "poll", и в реализации с высоким уровнем квалификации указывает все запросы, которые были завершены при вызове MPI_Waitsome . Однако MPI_Waitsome гарантирует выполнение хотя бы одного запроса; нет никакой гарантии, что все выполненные запросы будут возвращены или что записи в array_of_indices будут находиться в порядке увеличения. Кроме того, запросы, выполненные во время выполнения MPI_Waitsome , могут быть возвращены или не будут возвращены в зависимости от времени завершения сообщения.
Требования
Продукт |
Распространяемый пакет HPC 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI или клиентские служебные программы пакета HPC 2008 |
Заголовок |
Mpi.h; Mpif.h |
Библиотека |
Msmpi.lib |
DLL |
Msmpi.dll |