Condividi tramite


funzione MPI_Ssend

Esegue un'operazione di invio in modalità sincrona e restituisce quando il buffer di invio può essere riutilizzato in modo sicuro.

Sintassi

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

Parametri

  • buf [in, facoltativo]
    Puntatore al buffer che contiene i dati da inviare.

  • count
    Numero di elementi contenuti nel buffer. Se la parte dei dati del messaggio è vuota, impostare il parametro count su 0.

  • datatype
    Tipo di dati degli elementi nel buffer.

  • Dest
    Classificazione del processo di destinazione all'interno del comunicatore specificato dal parametro comm .

  • tag
    Tag di messaggio che può essere usato per distinguere tipi diversi di messaggi.

  • Comm
    Handle per il comunicatore.

Valore restituito

Restituisce MPI_SUCCESS sull'esito positivo. In caso contrario, il valore restituito è un codice di errore.

In Fortran il valore restituito viene archiviato nel parametro IERROR .

Fortran

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

Commenti

Questa funzione non è locale. Il completamento dell'operazione di invio dipende dall'occorrenza di una funzione di ricezione corrispondente.

Questa funzione può essere chiamata se viene inviata o meno una ricezione corrispondente. Tuttavia, la funzione di invio viene completata correttamente solo se viene inviata una ricezione corrispondente e l'operazione di ricezione ha iniziato a ricevere il messaggio. Pertanto, il completamento di un invio sincrono non indica solo che il buffer di invio può essere riutilizzato, ma indica anche che il processo di ricezione ha avviato l'esecuzione della ricezione corrispondente.

Se le operazioni di invio e ricezione bloccano le operazioni, la modalità sincrona fornisce semantica di comunicazione sincrona; una comunicazione non viene completata né alla fine del processo di invio e ricezione.

Requisiti

Prodotto

Pacchetto ridistribuibile HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o HPC Pack 2008 Utilità client

Intestazione

Mpi.h; Mpif.h

Libreria

Msmpi.lib

DLL

Msmpi.dll

Vedi anche

Funzioni mpI punta a punto

MPI_Send

MPI_Bsend

MPI_Rsend

MPI_Recv