Aracılığıyla paylaş


MPI_Mrecv işlevi

MPI_Mprobe veyaMPI_Improbe ile eşleşen bir ileti için engelleme alma işlemi gerçekleştirir.

Söz dizimi

int MPIAPI MPI_Mrecv(
  _Out_   void         *buf,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _Inout_ MPI_Message  *message,
  _Out_   MPI_Status   *status
);

Parametreler

  • buf [out]
    Alma arabelleğinin adresinin işaretçisi.

  • count [in]
    buf içindeki veri türü öğelerinin sayısı.

  • datatype [in]
    Arabellek dizisindeki öğelerin MPI veri türü.

  • ileti [in, out]
    İletinin işaretçisini içerir.

  • status [out]
    Dönüşte, iletiyle ilgili bilgilerin depolandığı MPI_Status yapısının işaretçisini içerir.

Döndürülen değer

Başarılı MPI_SUCCESS döndürür. Aksi takdirde, dönüş değeri bir hata kodudur.

Fortran'da, dönüş değeri IERROR parametresinde depolanır.

Fortran

    MPI_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Açıklamalar

Bu işlev, eşleşen bir yoklama işlemiyle eşleşen bir ileti alır. Alma arabelleği, adres veri türünden başlayarak veri türü tarafından belirtilen türün ardışık öğelerini içeren depolamadan oluşur. Alınan iletinin uzunluğu alma arabelleğinin uzunluğundan küçük veya buna eşit olmalıdır. Tüm gelen veriler alma arabelleğine kesilmeden sığmazsa taşma hatası oluşur.

İleti alma arabelleğinden daha kısaysa, yalnızca (daha kısa) iletiye karşılık gelen konumlar değiştirilir.

Bu işlevden döndürülen ileti tutamacı MPI_MESSAGE_NULL olarak ayarlanır. Bu işlemin yürütülmesi sırasında oluşan tüm hatalar, ileti tanıtıcısını oluşturan eşleşen yoklama çağrısında kullanılan communicator için hata işleyici kümesine göre işlenir

Gereksinimler

Ürün

Microsoft MPI v6

Üst bilgi

Mpi.h; Mpif.h

Kitaplık

Msmpi.lib

DLL

Msmpi.dll

Ayrıca bkz.

MPI Noktadan Noktaya İşlevler

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv