Partager via


fonction MPI_Improbe

Sonde un message de manière non bloquante. Fournit un mécanisme pour recevoir le message spécifique qui a été mis en correspondance, quelles que soient les opérations de sonde/réception intermédiaires. Le message correspondant est supprimé de la file d’attente de réception, ce qui permet à l’application de décider comment recevoir le message en fonction des informations retournées par l’opération de sonde de correspondance non bloquante. Le message correspondant est ensuite reçu à l’aide de la fonction MPI_Mrecv ou MPI_Imrecv .

Syntaxe

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

Paramètres

  • source [in]
    Classement ou MPI_ANY_SOURCE source.

  • balise [in]
    Balise de message ou MPI_ANY_TAG.

  • comm [in]
    Handle du communicateur MPI.

  • indicateur [out]
    Lors du retour, contient un pointeur vers un entier qui indique si la source, la balise et la comm spécifiées sont mises en correspondance. Une valeur différente de zéro indique que les paramètres sont mis en correspondance.

  • message [out]
    Au retour, contient un pointeur vers le message correspondant.

  • status [out]
    Au retour, contient un pointeur vers une structure MPI_Status où sont stockées des informations sur le message.

Valeur retournée

Retourne MPI_SUCCESS en cas de réussite. Sinon, la valeur de retour est un code d’erreur.

Dans Fortran, la valeur de retour est stockée dans le paramètre IERROR .

Fortran

    MPI_IMPROBE(SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS, IERROR)
          INTEGER SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Remarques

Cette fonction retourne l’indicateur = true s’il existe un message qui peut être reçu et qui correspond au modèle spécifié par la source, la balise et la comm des arguments. L’appel correspond au même message qui aurait été reçu par un appel à MPI_Recv exécuté au même point dans le programme et retourne dans status la même valeur que celle qui aurait été retournée par MPI_Recv. En outre, il retourne dans le message un handle au message correspondant. Sinon, l’appel retourne l’indicateur = false et laisse status et le message non définis.

Configuration requise

Produit

Microsoft MPI v6

En-tête

Mpi.h ; Mpif.h

Bibliothèque

Msmpi.lib

DLL

Msmpi.dll

Voir aussi

Fonctions point à point MPI

MPI_Mprobe

MPI_Recv

MPI_Imrecv