funktionen MPI_Grequest_start
Skapar och returnerar en användardefinierad begäran.
Syntax
int MPIAPI MPI_Grequest_start(
_In_ MPI_Grequest_query_function *query_fn,
_In_ MPI_Grequest_free_function *free_fn,
_In_ MPI_Grequest_cancel_function *cancel_fn,
_In_opt_ void *extra_state,
_Out_ MPI_Request *request
);
Parametrar
query_fn [in]
Återanropsfunktionen anropas när begärans status efterfrågas.free_fn [in]
Återanropsfunktionen anropas när begäran frigörs.cancel_fn [in]
Återanropsfunktionen anropas när begäran avbryts.extra_state [in, valfritt]
Extra tillstånd som skickas till funktionerna ovan.begäran [ut]
Generaliserad begäran.
Returvärde
Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.
I Fortran lagras returvärdet i parametern IERROR .
Fortran
MPI_GREQUEST_START(QUERY_FN, FREE_FN, CANCEL_FN, EXTRA_STATE, REQUEST, IERROR)
INTEGER REQUEST, IERROR
EXTERNAL QUERY_FN, FREE_FN, CANCEL_FN
INTEGER (KIND=MPI_ADDRESS_KIND) EXTRA_STATE
Kommentarer
Returvärdena från återanropsfunktionerna måste vara en giltig MPI-felkod eller -klass. Det här värdet kan antingen vara returvärdet från valfri MPI-rutin (med ett undantag som anges nedan) eller någon av MPI-felklasserna. För portabla program kan MPI_ERR_OTHER användas. om du vill ange mer specifik information skapar du en ny MPI-felklass eller kod med MPI_Add_error_class eller MPI_Add_error_code och returnerar det värdet.
MPI-standarden är inte tydlig med returvärdena från återanropsrutinerna. Det finns dock anteckningar i standarden som innebär att dessa är MPI-felkoder. Till exempel kräver sidorna 169 rad 46 till sida 170, rad 1 att free_fn returnerar en MPI-felkod som kan användas i MPI-slutförandefunktionerna när de returnerar MPI_ERR_IN_STATUS.
Det enda specialfallet är felvärdet som returneras av MPI_Comm_dup när attributets återanropsrutin returnerar ett fel. MPI-standarden är inte tydlig med vilka värden som kan användas för att indikera en felretur. Dessutom använde Intel MPI-testsviten värden som inte var noll för att indikera fel, och förväntade sig att dessa värden skulle returneras av MPI_Comm_dup när attributrutinerna påträffade ett fel. Sådana felvärden kanske inte är giltiga MPI-felkoder eller -klasser. På grund av detta är det användarens ansvar att antingen använda giltiga MPI-felkoder i gengäld från attributåteranropen, om dessa felkoder ska returneras av ett generaliserat begärandeåteranrop eller att identifiera och konvertera dessa felkoder till giltiga MPI-felkoder (kom ihåg att MPI-felklasser är giltiga felkoder).
Krav
Produkt |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package eller HPC Pack 2008 Client Utilities |
Huvud |
Mpi.h; Mpif.h |
Bibliotek |
Msmpi.lib |
DLL |
Msmpi.dll |