Sdílet prostřednictvím


MPI_Grequest_query_function funkce zpětného volání

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

Syntaxe

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

Parametry

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

  • status [out]
    Objekt stavu MPI.

Vrácená hodnota

Všechny funkce zpětného volání vrátí 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, vrátí kód chyby vrácený funkcí zpětného volání funkce MPI, která vyvolala funkci zpětného volání. V případě MPI_{Wait|Test}jakékoli volání, 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, a to free_fn. Pokud jeden nebo více požadavků ve volání MPI_{Wait|Test}{some|all} selhal a volání MPI se vrátí MPI_ERR_IN_STATUS. V takovém případě, pokud volání MPI bylo předáno pole stavů, mpi vrátí ve všech stavech, 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, budou jednotlivé kódy chyb vrácené jednotlivými funkcemi zpětného volání ztraceny.

Fortran

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

Poznámky

Funkce query_fn vypočítá stav, který se má vrátit pro generalizovaný požadavek. Stav obsahuje také informace o úspěšném nebo neúspěšném zrušení požadavku (výsledek, který vrátí MPI_Test_cancelled).

Zpětné volání query_fn vyvolá MPI_{Wait|Test}{any|some|all} volání, které dokončilo generalizovaný požadavek přidružený k tomuto zpětnému volání. Funkce zpětného volání je také vyvolána voláním MPI_Request_get_status, pokud je požadavek dokončen při volání. V obou případech se zpětné volání předá odkaz na odpovídající proměnnou stavu předanou uživatelem volání MPI; stav nastavený funkcí zpětného volání je vrácen voláním MPI. Pokud uživatel zadal MPI_STATUS_IGNORE nebo MPI_STATUSES_IGNORE do funkce MPI, která způsobí volání query_fn , mpi předá query_fn platný objekt stavu a tento stav se při vrácení funkce zpětného volání ignoruje. Všimněte si, že query_fn je vyvolána až po zavolání MPI_Grequest_complete v požadavku; může být vyvolána několikrát pro stejný generalizovaný požadavek, například pokud uživatel volá MPI_Request_get_status pro tento požadavek několikrát. Všimněte si také, že volání MPI_{Wait|Test}{some|all} může způsobit více vyvolání funkcí zpětného volání query_fn , jednu pro každou generalizovanou žádost, která je dokončena voláním MPI. Pořadí těchto volání není v mpi určeno.

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; Mpif.h

Viz také

Externí funkce MPI

MPI_Grequest_start

MPI_Waitall

MPI_Waitsome

MPI_Waitany

MPI_Testall

MPI_Testsome

MPI_Testany