Partager via


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

Voir aussi

Fonctions point à point MPI

MPI_Irecv

MPI_Mrecv

MPI_Mprobe

MPI_Improbe