MSMPI_Waitsome_interruptible, funkcja
Czeka, aż co najmniej jedna z operacji skojarzonych z aktywnymi dojściami na liście została zakończona lub wywołanie zostanie przerwane przez inny wątek, który wywołuje MSMPI_Queuelock_acquire.
Składnia
int MPIAPI MSMPI_Waitsome_interruptible(
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) int array_of_statuses[]
);
Parametry
incount
Liczba żądań w tablicy array_of_requests.array_of_requests
Tablica dojść żądań operacji, na których należy poczekać na ukończenie. Jeśli dojście żądania zostało przydzielone przez funkcję komunikacji nieblokającej, zostanie cofnięto przydział, a skojarzony uchwyt zostanie ustawiony na MPI_REQUEST_NULL.outcount [out]
Liczba żądań określonych w parametrze array_of_requests , które są ukończone, oraz liczba elementów w tablicach array_of_indices i array_of_statuses .Jeśli array_of_requests nie zawiera aktywnych dojść, funkcja zwraca natychmiast z parametrem outcount ustawionym na MPI_UNDEFINED.
Jeśli ta funkcja zostanie przerwana przed ukończeniem żądań, wywołanie zostanie zwrócone z parametrem outcount ustawionym na zero.
array_of_indices
Zwraca indeksy w parametrze array_of_requests operacji, które zostały ukończone. Indeksy tablicowe są oparte na zera w języku C i z jednej siedziby w Fortran.array_of_statuses
Zwraca stan zakończonych operacji. Elementy tej tablicy odpowiadają elementom tablicy array_of_indices .
Wartość zwracana
Zwraca MPI_SUCCESS powodzenia. W przeciwnym razie wartość zwracana jest kodem błędu.
W fortran wartość zwracana jest przechowywana w parametrze IERROR .
Jeśli funkcja zwraca błąd inny niż MPI_ERR_IN_STATUS, nie aktualizuje pól błędów stanów w parametrze array_of_statuses .
Uwagi
W środowisku wielowątkowa użytkownicy muszą uzyskać globalną blokadę MPI firmy Microsoft przy użyciu funkcji MSMPI_Queuelock_acquire , zanim wywołają MSMPI_Waitsome_interruptible. Ta funkcja jest przerywana, gdy inny wątek wywołuje funkcję MSMPI_Queuelock_acquire w celu uzyskania dostępu do biblioteki MPI.
Ta funkcja jest rozszerzeniem standardu.
Wymagania
Produkt |
Pakiet redystrybucyjny PROGRAMU HPC Pack 2012 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 R2 MS-MPI, pakiet redystrybucyjny PAKIETU HPC Pack 2008 MS-MPI lub narzędzia klienckie PAKIETU HPC Pack 2008 |
Nagłówek |
Mpi.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |