Sdílet prostřednictvím


MPI_Grequest_start funkce

Vytvoří a vrátí požadavek definovaný uživatelem.

Syntaxe

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
);

Parametry

  • query_fn [v]
    Funkce zpětného volání se vyvolá při dotaz na stav požadavku.

  • free_fn [v]
    Funkce zpětného volání vyvolána při uvolnění požadavku.

  • cancel_fn [v]
    Funkce zpětného volání vyvolána při zrušení požadavku.

  • extra_state [v, volitelné]
    Výše uvedeným funkcím byl předán dodatečný stav.

  • žádost [out]
    Zobecněný požadavek.

Vrácená hodnota

Vrátí MPI_SUCCESS při úspěchu. V opačném případě je návratovou hodnotou kód chyby.

Ve Fortranu je vrácená hodnota uložena v parametru 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

Poznámky

Návratové hodnoty z funkcí zpětného volání musí být platným kódem nebo třídou chyby MPI. Tato hodnota může být buď návratovou hodnotou z jakékoli rutiny MPI (s jednou výjimkou uvedenou níže), nebo některou z chybových tříd MPI. Pro přenosné programy mohou být použity MPI_ERR_OTHER ; Pokud chcete poskytnout konkrétnější informace, vytvořte novou třídu chyb MPI nebo kód s MPI_Add_error_class nebo MPI_Add_error_code a vraťte tuto hodnotu.

Standard MPI není jasný o návratových hodnotách z rutin zpětného volání. Ve standardu jsou však poznámky, které naznačují, že se jedná o kódy chyb MPI. Například stránky 169, řádek 46 až 170, řádek 1 vyžaduje, aby free_fn vrátil kód chyby MPI, který může být použit ve funkcích pro dokončování MPI, když vrátí MPI_ERR_IN_STATUS.

Jedním zvláštním případem je chybová hodnota vrácená MPI_Comm_dup , když rutina zpětného volání atributu vrátí chybu. Ze standardu MPI není jasné, jaké hodnoty mohou být použity k označení návratu chyby. Kromě toho testovací sada Intel MPI použila nenulové hodnoty k označení selhání a očekávala, že tyto hodnoty vrátí MPI_Comm_dup , když rutiny atributů zjistily chybu. Tyto chybové hodnoty nemusí být platné kódy chyb MPI nebo třídy. Z tohoto důvodu je na uživateli, aby buď použil platné kódy chyb MPI navrácené ze zpětných volání atributů, pokud mají být tyto kódy chyb vráceny zobecněnou žádostí zpětné volání, nebo zjistit a převést tyto kódy chyb na platné kódy chyb MPI (vzpomeňte si, že třídy chyb MPI jsou platné kódy chyb).

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

Knihovna

Msmpi.lib

DLL

Msmpi.dll

Viz také

Externí funkce MPI

MPI_Grequest_query_function

MPI_Grequest_free_function

MPI_Grequest_cancel_function