MPI_Imrecv fonction
Effectue une réception non bloquante pour un message correspondant à MPI_Mprobe ou MPI_Improbe.
Syntaxe
int MPIAPI MPI_Imrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Request *request
);
Paramètres
buf [out]
Pointeur vers l’adresse de la mémoire tampon de réception.count [in]
Nombre d’éléments de type de données dans buf.datatype [in]
Type de données MPI des éléments dans buf.message [in, out]
Contient un pointeur vers le message.request [out]
Au retour, contient un pointeur vers un handle MPI_REQUEST représentant l’opération de communication.
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_IMRECV(BUF, COUNT, DATATYPE, MESSAGE, REQUEST, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, REQUEST, IERROR
Remarques
Cette fonction est la variante non bloquante de MPI_Mrecv et démarre une réception non bloquante d’un message correspondant. La sémantique de saisie semi-automatique est similaire à MPI_Irecv.
Au retour de cette fonction, le handle de message est défini sur MPI_MESSAGE_NULL.
Si cette fonction est appelée avec MPI_MESSAGE_NO_PROC comme argument de message, l’appel retourne immédiatement avec un objet de requête qui, une fois terminé, génère un objet status défini surMPI_PROC_NULLsource = , baliser = MPI_ANY_TAG et compter = 0, comme si une réception de MPI_PROC_NULL était émise. Un appel à cette fonction avec MPI_MESSAGE_NULL est erroné.
Configuration requise
Produit |
Microsoft MPI v6 |
En-tête |
Mpi.h ; Mpif.h |
Bibliothèque |
Msmpi.lib |
DLL |
Msmpi.dll |