Partager via


MPI_Rput, fonction

Opération put RMA basée sur la demande.

Syntaxe

int MPIAPI MPI_Rput(
  _In_  void         *origin_addr,
        int          origin_count,
        MPI_Datatype origin_datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        int          target_count,
        MPI_Datatype target_datatype,
        MPI_Win      win,
  _Out_ MPI_Request  *request
);

Paramètres

  • origin_addr [in]
    Mémoire tampon d’adresse initiale de l’origine.

  • origin_count
    Nombre d’entrées dans la mémoire tampon d’origine.

  • origin_datatype
    Type de données de chaque entrée dans la mémoire tampon d’origine.

  • target_rank
    Classement de la cible.

  • target_disp
    Déplacement du début de la fenêtre vers la mémoire tampon cible.

  • target_count
    Nombre d’entrées dans la mémoire tampon cible.

  • target_datatype
    Type de données de chaque entrée dans la mémoire tampon cible.

  • win
    Objet Window utilisé pour la communication.

  • request [out]
    Demande RMA.

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_RPUT(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK,
                TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, WIN, REQUEST, IERROR)
        <type> ORIGIN_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK, TARGET_COUNT,
        TARGET_DATATYPE, WIN, REQUEST, IERROR

Remarques

MPI_Rput est similaire à MPI_Put, à ceci près qu’elle alloue un objet de demande de communication et l’associe au handle de requête (la demande d’argument). L’achèvement d’une opération de MPI_Rput (c’est-à-dire après le test ou l’attente correspondant) indique que l’expéditeur est désormais libre de mettre à jour les emplacements dans la mémoire tampon d’origine. Elle n’indique pas que les données sont disponibles dans la fenêtre cible. Si l’exécution à distance est requise, vous pouvez utiliser MPI_Win_flush, MPI_Win_flush_all, MPI_Win_unlock ou MPI_Win_unlock_all .

Configuration requise

Produit

Package redistribuable MS-MPI HPC Pack 2012, package redistribuable HPC Pack 2008 R2 MS-MPI, package redistribuable MS-MPI HPC Pack 2008 ou utilitaires clients HPC Pack 2008

En-tête

Mpi.h ; Mpif.h

Bibliothèque

Msmpi.lib

DLL

Msmpi.dll

Voir aussi

Fonctions de communication One-Sided MPI