Freigeben über


MPI_Send-Funktion

Führt einen Sendevorgang im Standardmodus aus und gibt zurück, wenn der Sendepuffer sicher wiederverwendet werden kann.

Syntax

int MPIAPI MPI_Send(
  _In_opt_ void         *buf,
           int          count,
           MPI_Datatype datatype,
           int          dest,
           int          tag,
           MPI_Comm     comm
);

Parameter

  • buf [in, optional]
    Ein Zeiger auf den Puffer, der die zu sendenden Daten enthält.

  • count
    Die Anzahl der Elemente im Puffer. Wenn der Datenteil der Nachricht leer ist, legen Sie den Count-Parameter auf 0 fest.

  • datatype
    Der Datentyp der Elemente im Puffer.

  • Dest
    Der Rang des Zielprozesses innerhalb des Kommunikators, der durch den comm-Parameter angegeben wird.

  • tag
    Das Nachrichtentag, mit dem verschiedene Nachrichtentypen unterschieden werden können.

  • comm
    Der Handle für den Kommunikator.

Rückgabewert

Gibt MPI_SUCCESS nach Erfolg zurück. Andernfalls ist der Rückgabewert ein Fehlercode.

In Fortran wird der Rückgabewert im IERROR-Parameter gespeichert.

Fortran

    MPI_SEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR

Hinweise

Diese Funktion ist nicht lokal. Der erfolgreiche Abschluss hängt möglicherweise von der Existenz einer übereinstimmenden Empfangsfunktion ab.

Diese Funktion kann zurückgeben, bevor eine übereinstimmende Empfangsfunktion aufgerufen wird, wenn die MPI-Implementierung die Nachricht puffert. Der Pufferspeicherplatz ist jedoch möglicherweise nicht verfügbar, oder ausgehende Nachrichten werden aus Leistungsgründen nicht gepuffert. Wenn die Nachricht nicht gepuffert ist, wird die Funktion erst zurückgegeben, wenn die Daten in den empfangenden Prozess verschoben wurden.

Diese Funktion kann aufgerufen werden, unabhängig davon, ob eine übereinstimmende Empfangsfunktion gepostet wird oder nicht. Es kann beendet werden, bevor eine übereinstimmende Empfangsfunktion veröffentlicht wird.

Anforderungen

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package oder HPC Pack 2008 Client Utilities

Header

Mpi.h; Mpif.h

Bibliothek

Msmpi.lib

DLL

Msmpi.dll

Weitere Informationen

MPI-Punkt-zu-Punkt-Funktionen

MPI_Bsend

MPI_Rsend

MPI_Ssend

MPI_Recv