MPI_Mrecv, fonction
Effectue une réception bloquante pour un message correspondant à MPI_Mprobe ou MPI_Improbe.
Syntaxe
int MPIAPI MPI_Mrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Status *status
);
Paramètres
buf [out]
Pointeur vers l’adresse de la mémoire tampon de réception.count [in]
Nombre d’éléments datatype dans buf.datatype [in]
Type de données MPI des éléments dans le tableau de mémoires tampons.message [in, out]
Contient un pointeur vers le message.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_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR
Remarques
Cette fonction reçoit un message correspondant à une opération de sonde correspondante. La mémoire tampon de réception se compose du stockage contenant le nombre d’éléments consécutifs du type spécifié par le type de données, en commençant à l’adresse buf. La longueur du message reçu doit être inférieure ou égale à la longueur de la mémoire tampon de réception. Une erreur de dépassement de capacité se produit si toutes les données entrantes ne tiennent pas, sans troncation, dans la mémoire tampon de réception.
Si le message est plus court que la mémoire tampon de réception, seuls les emplacements correspondant au message (plus court) sont modifiés.
Au retour de cette fonction, le handle de message est défini sur MPI_MESSAGE_NULL. Toutes les erreurs qui se produisent pendant l’exécution de cette opération sont gérées en fonction du gestionnaire d’erreurs défini pour le communicateur utilisé dans l’appel de sonde correspondant qui a produit le handle de message
Configuration requise
Produit |
Microsoft MPI v6 |
En-tête |
Mpi.h ; Mpif.h |
Bibliothèque |
Msmpi.lib |
DLL |
Msmpi.dll |