Udostępnij za pośrednictwem


MPI_Rsend, funkcja

Wykonuje operację wysyłania w trybie gotowości i zwraca wartość, gdy bufor wysyłania może być bezpiecznie ponownie używany.

Składnia

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

Parametry

  • buf [in, opcjonalnie]
    Wskaźnik do buforu zawierającego dane do wysłania.

  • Liczba
    Liczba elementów w buforze. Jeśli część danych komunikatu jest pusta, ustaw parametr count na 0.

  • Datatype
    Typ danych elementów w buforze.

  • Dest
    Ranga procesu docelowego w programie communicator, który jest określony przez parametr comm .

  • Tag
    Tag komunikatu, który może służyć do rozróżniania różnych typów komunikatów.

  • Comm
    Uchwyt do komunikatora.

Wartość zwracana

Zwraca MPI_SUCCESS po powodzeniu. W przeciwnym razie zwracana wartość jest kodem błędu.

W fortran wartość zwracana jest przechowywana w parametrze IERROR .

Fortran

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

Uwagi

Ta funkcja nie jest lokalna. Ta funkcja jest zwracana natychmiast po ponownym użyciu buforu wysyłania i nie zależy od stanu zgodnej operacji odbierania. Jednak pomyślne ukończenie ogólnej operacji wysyłania zależy od istnienia zgodnej operacji odbierania.

Tę funkcję można wywołać tylko wtedy, gdy zgodna operacja odbierania została już wysłana. W przeciwnym razie funkcja zwraca błąd i jego wynik jest niezdefiniowany. W niektórych systemach to wymaganie eliminuje niektóre uzgadnianie używane w innych trybach i może poprawić wydajność w porównaniu ze standardowymi lub synchronicznymi operacjami wysyłania.

Funkcja MPI_Rsend ma te same semantyki co funkcje MPI_Send i MPI_Ssend , ale powiadamia system, że pasujący odbieranie jest już opublikowane. Te informacje mogą zaoszczędzić pewne nakłady pracy. W związku z tym w poprawnym programie gotowy wysyłanie może zostać zastąpione przez standardowe wysyłanie bez wpływu na zachowanie programu innego niż wydajność.

Wymagania

Produkt

Pakiet redystrybucyjny HPC Pack 2012 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 R2 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 MS-MPI lub narzędzia klienckie HPC Pack 2008

Nagłówek

Mpi.h; Mpif.h

Biblioteka

Msmpi.lib

DLL

Msmpi.dll

Zobacz też

Funkcje punkt-punkt MPI

MPI_Send

MPI_Bsend

MPI_Ssend

MPI_Recv