Condividi tramite


funzione MPI_Grequest_start

Crea e restituisce una richiesta definita dall'utente.

Sintassi

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

Parametri

  • query_fn [in]
    Funzione di callback richiamata quando viene eseguito una query sullo stato della richiesta.

  • free_fn [in]
    Funzione di callback richiamata quando la richiesta viene liberata.

  • cancel_fn [in]
    Funzione di callback richiamata quando la richiesta viene annullata.

  • extra_state [in, facoltativo]
    Stato aggiuntivo passato alle funzioni precedenti.

  • richiesta [out]
    Richiesta generalizzata.

Valore restituito

Restituisce MPI_SUCCESS sull'esito positivo. In caso contrario, il valore restituito è un codice di errore.

In Fortran il valore restituito viene archiviato nel parametro 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

Commenti

I valori restituiti dalle funzioni di callback devono essere un codice di errore MPI valido o una classe. Questo valore può essere il valore restituito da qualsiasi routine MPI (con un'eccezione annotata di seguito) o una delle classi di errore MPI. Per i programmi portabili, è possibile usare MPI_ERR_OTHER ; per fornire informazioni più specifiche, creare una nuova classe di errore MPI o codice con MPI_Add_error_class o MPI_Add_error_code e restituire tale valore.

Lo standard MPI non è chiaro sui valori restituiti dalle routine di callback. Tuttavia, esistono note nello standard che implicano che questi sono codici di errore MPI. Ad esempio, le pagine 169 riga 46 alla pagina 170, la riga 1 richiede che il free_fn restituisca un codice di errore MPI che può essere usato nelle funzioni di completamento MPI quando restituiscono MPI_ERR_IN_STATUS.

Un caso speciale è il valore di errore restituito da MPI_Comm_dup quando la routine di callback dell'attributo restituisce un errore. Lo standard MPI non è chiaro sui valori che possono essere usati per indicare un errore restituito. Inoltre, la suite di test Intel MPI ha usato valori non zero per indicare l'errore e si prevede che questi valori vengano restituiti dal MPI_Comm_dup quando le routine degli attributi hanno rilevato un errore. Tali valori di errore potrebbero non essere codici di errore MPI validi o classi. A causa di questo, è responsabilità dell'utente usare codici di errore MPI validi in ritorno dai callback dell'attributo, se tali codici di errore devono essere restituiti da un callback di richiesta generalizzata o per rilevare e convertire tali codici di errore in codici di errore MPI validi (ricordare che le classi di errore MPI sono codici di errore validi).

Requisiti

Prodotto

Pacchetto ridistribuibile HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o HPC Pack 2008 Utilità client

Intestazione

Mpi.h; Mpif.h

Libreria

Msmpi.lib

DLL

Msmpi.dll

Vedi anche

Funzioni esterne MPI

MPI_Grequest_query_function

MPI_Grequest_free_function

MPI_Grequest_cancel_function