Dela via


MPI_Grequest_free_function återanropsfunktion

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

Syntax

int MPI_Grequest_free_function(
  _In_opt_ void *extra_state
);

Parametrar

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

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. Vid ett MPI_Waitany - och MPI_Testany-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 begäranden i ett anrop till MPI_Waitsome, MPI_Waitall, MPI_Testsome eller MPI_Testall misslyckades returnerar MPI-anropet 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_FREE_FUNCTION(EXTRA_STATE, IERROR)
        INTEGER IERROR
        INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE

Kommentarer

Funktionen free_fn anropas för att rensa användarallokerade resurser när den generaliserade begäran frigörs.

Återanropet free_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. free_fn anropas efter anropet till query_fn för samma begäran. Men om MPI-anropet har slutfört flera generaliserade begäranden, anges inte den ordning i vilken free_fn återanropsfunktioner anropas av MPI.

Återanropet free_fn anropas också för generaliserade begäranden som frigörs av ett anrop till MPI_Request_free (inget anrop till MPI_{Wait|Test}{any|some|all} inträffar för en sådan begäran). I det här fallet anropas återanropsfunktionen antingen i MPI-anropet MPI_Request_free eller i MPI-anropet MPI_Grequest_complete, beroende på vilket som inträffar sist, d.v.s. i det här fallet körs den faktiska borttagningskoden så snart både anropen MPI_Request_free och MPI_Grequest_complete har inträffat. Begäran frigörs inte förrän free_fn har slutförts. Observera att free_fn endast anropas en gång per begäran av ett korrekt program.

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