Bagikan melalui


fungsi MPI_Imrecv

Melakukan penerimaan non-pemblokiran untuk pesan yang cocok dengan MPI_Mprobe atau MPI_Improbe.

Sintaks

int MPIAPI MPI_Imrecv(
  _Out_   void         *buf,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _Inout_ MPI_Message  *message,
  _Out_   MPI_Request  *request
);

Parameter

  • buf [out]
    Penunjuk ke alamat buffer penerima.

  • count [in]
    Jumlah elemen datatype dalam buf.

  • datatype [in]
    Jenis data MPI dari elemen dalam buf.

  • message [in, out]
    Berisi penunjuk ke pesan.

  • request [out]
    Saat kembali, berisi penunjuk ke handel MPI_REQUEST yang mewakili operasi komunikasi.

Nilai kembali

Mengembalikan MPI_SUCCESS pada keberhasilan. Jika tidak, nilai yang dikembalikan adalah kode kesalahan.

Di Fortran, nilai yang dikembalikan disimpan dalam parameter IERROR .

Fortran

    MPI_IMRECV(BUF, COUNT, DATATYPE, MESSAGE, REQUEST, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, MESSAGE, REQUEST, IERROR

Keterangan

Fungsi ini adalah varian non-pemblokiran MPI_Mrecv dan memulai penerimaan pesan yang tidak diblokir dari pesan yang cocok. Semantik penyelesaian mirip dengan MPI_Irecv.

Saat dikembalikan dari fungsi ini, handel pesan diatur ke MPI_MESSAGE_NULL.

Jika fungsi ini dipanggil dengan MPI_MESSAGE_NO_PROC sebagai argumen pesan, panggilan segera kembali dengan objek permintaan yang, ketika selesai, akan menghasilkan objek status yang diatur ke sumber = MPI_PROC_NULL, tag = MPI_ANY_TAG, dan hitungan = 0, seolah-olah penerimaan dari MPI_PROC_NULL dikeluarkan. Panggilan ke fungsi ini dengan MPI_MESSAGE_NULL keliru.

Persyaratan

Produk

Microsoft MPI v6

Header

Mpi.h; Mpif.h

Pustaka

Msmpi.lib

DLL

Msmpi.dll

Lihat juga

Fungsi Titik ke Titik MPI

MPI_Irecv

MPI_Mrecv

MPI_Mprobe

MPI_Improbe