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 |