Megosztás:


MPI_Grequest_start függvény

Felhasználó által megadott kérést hoz létre és ad vissza.

Szintaxis

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

Paraméterek

  • query_fn [in]
    A visszahívási függvény a kérés állapotának lekérésekor hívható meg.

  • free_fn [in]
    A kérés felszabadításakor meghívott visszahívási függvény.

  • cancel_fn [in]
    A kérelem megszakításakor meghívott visszahívási függvény.

  • extra_state [in, nem kötelező]
    A fenti függvények számára átadott extra állapot.

  • request [out]
    Általános kérés.

Visszatérési érték

Sikeres MPI_SUCCESS ad vissza. Ellenkező esetben a visszatérési érték hibakód.

A Fortranban a visszatérési érték az IERROR paraméterben van tárolva.

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

Megjegyzések

A visszahívási függvények visszatérési értékeinek érvényes MPI-hibakódnak vagy osztálynak kell lenniük. Ez az érték lehet bármely MPI-rutin visszatérési értéke (alább egy kivétellel), vagy bármelyik MPI-hibaosztályból. Hordozható programokhoz MPI_ERR_OTHER használhatók; pontosabb információk megadásához hozzon létre egy új MPI-hibaosztályt vagy -kódot MPI_Add_error_class vagy MPI_Add_error_code , és adja vissza ezt az értéket.

Az MPI-szabvány nem egyértelmű a visszahívási rutinok visszatérési értékeiben. Vannak azonban olyan megjegyzések a szabványban, amelyek arra utalnak, hogy ezek MPI-hibakódok. Például a 169. sor 46–170. oldala, az 1. sor megköveteli, hogy a free_fn olyan MPI-hibakódot adjanak vissza, amelyet az MPI-kiegészítési függvények használhatnak MPI_ERR_IN_STATUS visszaadásakor.

Az egyik speciális eset az MPI_Comm_dup által visszaadott hibaérték, amikor az attribútum visszahívási rutinja hibát ad vissza. Az MPI-szabvány nem egyértelmű, hogy milyen értékekkel jelezhető a hiba visszaadása. Ezenkívül az Intel MPI tesztcsomag nem nulla értékeket használt a hiba jelzésére, és azt várta, hogy ezeket az értékeket a MPI_Comm_dup adja vissza, amikor az attribútum rutinjai hibát észleltek. Előfordulhat, hogy az ilyen hibaértékek érvénytelen MPI-hibakódok vagy osztályok. Emiatt a felhasználó felelőssége, hogy érvényes MPI-hibakódokat használjon az attribútum visszahívásaiból cserébe, ha ezeket a hibakódokat egy általánosított kérés visszahívása adja vissza, vagy hogy észlelje és érvényes MPI-hibakódokká konvertálja ezeket a hibakódokat (ne feledje, hogy az MPI-hibaosztályok érvényes hibakódok).

Követelmények

Termék

HPC Pack 2012 MS-MPI terjeszthető csomag, HPC Pack 2008 R2 MS-MPI terjeszthető csomag, HPC Pack 2008 MS-MPI újraterjeszthető csomag vagy HPC Pack 2008 ügyfél-segédprogramok

Fejléc

Mpi.h; Mpif.h

Kódtár

Msmpi.lib

DLL

Msmpi.dll

Lásd még

MPI külső függvényei

MPI_Grequest_query_function

MPI_Grequest_free_function

MPI_Grequest_cancel_function