Dela via


MPI_Grequest_query_function återanropsfunktion

MPI_Grequest_query_function är en platshållare för det programdefinierade funktionsnamnet.

Syntax

int MPI_Grequest_query_function(
  _In_opt_ void       *extra_state,
  _Out_    MPI_Status *status
);

Parametrar

  • extra_state [in, valfritt]
    Extra tillstånd.

  • status [out]
    MPI-statusobjekt.

Returvärde

Alla återanropsfunktioner returnerar en felkod. Koden skickas tillbaka och hanteras efter behov för felkoden av MPI-funktionen som anropade motringningsfunktionen. Om felkoder till exempel returneras returneras felkoden som returneras av återanropsfunktionen av den MPI-funktion som anropade återanropsfunktionen. När det gäller en MPI_{Wait|Test}alla anrop som anropar både query_fn och free_fn returnerar MPI-anropet felkoden som returnerades av det senaste återanropet, nämligen free_fn. Om en eller flera av begäranden i ett anrop till MPI_{Wait|Test}{some|all} misslyckades och MPI-anropet returnerar MPI_ERR_IN_STATUS. I så fall, om MPI-anropet skickades en matris med statusar, returnerar MPI i var och en av de statusar som motsvarar en slutförd generaliserad begäran felkoden som returneras av motsvarande anrop av dess free_fn återanropsfunktion. Men om MPI-funktionen skickades MPI_STATUSES_IGNORE kommer de enskilda felkoder som returneras av varje återanropsfunktion att gå förlorade.

Fortran

    SUBROUTINE GREQUEST_QUERY_FUNCTION(EXTRA_STATE, STATUS, IERROR)
        INTEGER STATUS(MPI_STATUS_SIZE), IERROR
        INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE

Kommentarer

Funktionen query_fn beräknar den status som ska returneras för den generaliserade begäran. Statusen innehåller även information om lyckad/misslyckad annullering av begäran (resultat som ska returneras av MPI_Test_cancelled).

Återanropet query_fn anropas av MPI_{Wait|Test}{any|some|all} -anrop som slutförde den generaliserade begäran som är associerad med det här återanropet. Återanropsfunktionen anropas också av anrop till MPI_Request_get_status, om begäran är slutförd när anropet inträffar. I båda fallen skickas motringningen en referens till motsvarande statusvariabel som användaren skickar till MPI-anropet. statusen som anges av återanropsfunktionen returneras av MPI-anropet. Om användaren angav MPI_STATUS_IGNORE eller MPI_STATUSES_IGNORE till MPI-funktionen som gör att query_fn anropas skickar MPI ett giltigt statusobjekt till query_fn och den här statusen ignoreras när återanropsfunktionen returneras. Observera att query_fn anropas först när MPI_Grequest_complete anropas på begäran. det kan anropas flera gånger för samma generaliserade begäran, t.ex. om användaren anropar MPI_Request_get_status flera gånger för denna begäran. Observera också att ett anrop till MPI_{Wait|Test}{some|all} kan orsaka flera anrop av query_fn återanropsfunktioner, en för varje generaliserad begäran som slutförs av MPI-anropet. Ordningen på dessa anrop anges inte av MPI.

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

Se även

Externa MPI-funktioner

MPI_Grequest_start

MPI_Waitall

MPI_Waitsome

MPI_Waitany

MPI_Testall

MPI_Testsome

MPI_Testany