Condividi tramite


funzione MPI_Improbe

Probe per un messaggio in modo non bloccato. Fornisce un meccanismo per ricevere il messaggio specifico corrispondente indipendentemente dall'intervento delle operazioni probe/ricezione. Il messaggio corrispondente viene de-accodato dalla coda di ricezione, dando all'applicazione un'opportunità di decidere come ricevere il messaggio in base alle informazioni restituite dall'operazione probe corrispondente non bloccante. Il messaggio corrispondente viene quindi ricevuto usando la funzione MPI_Mrecv o MPI_Imrecv .

Sintassi

int MPIAPI MPI_Improbe(
  _In_  int         source,
  _In_  int         tag,
  _In_  MPI_Comm    comm,
  _Out_ Int         *flag,
  _Out_ MPI_Message *message,
  _Out_ MPI_Status  *status
);

Parametri

  • origine [in]
    Classificazione di origine o MPI_ANY_SOURCE.

  • tag [in]
    Tag di messaggio o MPI_ANY_TAG.

  • comm [in]
    Handle di comunicatore MPI.

  • flag [out]
    In caso di restituzione, contiene un puntatore a un intero che indica se l'origine, il tag e il comm specificati sono corrispondenti. Un valore diverso da zero indica che i parametri sono corrispondenti.

  • messaggio [out]
    Al ritorno, contiene un puntatore al messaggio corrispondente.

  • stato [out]
    In caso di restituzione, contiene un puntatore a una struttura MPI_Status in cui vengono archiviate le informazioni sul messaggio.

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_IMPROBE(SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS, IERROR)
          INTEGER SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Commenti

Questa funzione restituisceilflag = true se è possibile ricevere un messaggio che corrisponde al modello specificato dall'origine, dal tag e dal comm. La chiamata corrisponde allo stesso messaggio che sarebbe stato ricevuto da una chiamata a MPI_Recv eseguita nello stesso punto del programma e restituisce lo stesso valore restituito da MPI_Recv. Inoltre, restituisce nel messaggio un handle al messaggio corrispondente. In caso contrario, la chiamata restituisce il flag = false e lascia lo stato e il messaggio non definito.

Requisiti

Prodotto

Microsoft MPI v6

Intestazione

Mpi.h; Mpif.h

Libreria

Msmpi.lib

DLL

Msmpi.dll

Vedi anche

Funzioni mpI punta a punto

MPI_Mprobe

MPI_Recv

MPI_Imrecv