Sdílet prostřednictvím


funkce zpětného volání MPI_Grequest_free_function

MPI_Grequest_free_function je zástupný symbol pro název funkce definované aplikací.

Syntaxe

int MPI_Grequest_free_function(
  _In_opt_ void *extra_state
);

Parametry

  • extra_state [v, volitelné]
    Stav navíc.

Vrácená hodnota

Všechny funkce zpětného volání vrací kód chyby. Kód se předá zpět a podle potřeby s ním pracuje funkce MPI, která vyvolala funkci zpětného volání. Pokud jsou například vráceny kódy chyb, kód chyby vrácený funkcí zpětného volání vrátí funkce MPI, která funkci zpětného volání vyvolala. V případě volání MPI_Waitany a MPI_Testany , které vyvolá query_fn i free_fn, vrátí volání MPI kód chyby vrácený posledním zpětným voláním, konkrétně free_fn. Pokud jeden nebo více požadavků ve volání MPI_Waitsome, MPI_Waitall, MPI_Testsome nebo MPI_Testall selhalo, vrátí volání MPI MPI_ERR_IN_STATUS. V takovém případě, pokud bylo volání MPI předáno pole stavů, vrátí mpi v každém stavu, které odpovídají dokončené generalizované žádosti kód chyby vrácený odpovídajícím vyvoláním funkce zpětného volání free_fn . Pokud však byla funkce MPI předána MPI_STATUSES_IGNORE, jednotlivé kódy chyb vrácené jednotlivými funkcemi zpětného volání budou ztraceny.

Fortran

    SUBROUTINE GREQUEST_FREE_FUNCTION(EXTRA_STATE, IERROR)
        INTEGER IERROR
        INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE

Poznámky

Funkce free_fn je vyvolána k vyčištění prostředků přidělených uživatelem při uvolnění generalizovaného požadavku.

Zpětné volání free_fn je vyvoláno MPI_{Wait|Test}{any|some|all} call that completed the generalized request associated with this callback. free_fn se vyvolá po volání query_fn pro stejný požadavek. Pokud však volání MPI dokončilo více zobecněných požadavků, pořadí, ve kterém jsou vyvolány funkce zpětného volání free_fn není funkcí MPI zadáno.

Zpětné volání free_fn je také vyvoláno pro generalizované požadavky, které jsou uvolněny voláním MPI_Request_free (bez volání MPI_{Wait|Test}{any|some|all} se provede pro takovou žádost). V tomto případě bude funkce zpětného volání volána buď v MPI_Request_free volání MPI, nebo ve volání MPI MPI_Grequest_complete, podle toho, co nastane naposledy, tj. v tomto případě se spustí skutečný osvobozující kód, jakmile dojde k oběma voláním MPI_Request_free a MPI_Grequest_complete . Přidělení žádosti se neuvolní, dokud se free_fn nedokoní. Mějte na paměti, že free_fn bude vyvolána pouze jednou pro každý požadavek správným programem.

Požadavky

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package nebo HPC Pack 2008 Client Utilities

Hlavička

Mpi.h; Soubor Mpif.h

Viz také

Externí funkce MPI

MPI_Grequest_start

MPI_Waitall

MPI_Waitsome

MPI_Waitany

MPI_Testall

MPI_Testsome

MPI_Testany