مشاركة عبر


MPI_Imrecv الدالة

إجراء تلقي غير محظور لرسالة تطابقها MPI_Mprobe أو MPI_Improbe.

بناء الجملة

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

المعلمات

  • buf [out]
    مؤشر إلى عنوان المخزن المؤقت للاستلام.

  • العد [في]
    عدد عناصر نوع البيانات في buf.

  • نوع البيانات [in]
    نوع بيانات MPI للعناصر في buf.

  • رسالة [داخل، خارج]
    يحتوي على مؤشر للرسالة.

  • طلب [خارج]
    عند العودة، يحتوي على مؤشر إلى مقبض MPI_REQUEST يمثل عملية الاتصال.

القيمة المُرجعة

إرجاع MPI_SUCCESS عند النجاح. وإلا، فإن القيمة المرجعة هي رمز خطأ.

في Fortran، يتم تخزين القيمة المرجعة في المعلمة IERROR .

Fortran

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

الملاحظات

هذه الدالة هي المتغير غير المحظور MPI_Mrecv وتبدأ تلقي رسالة متطابقة بدون حظر. دلالات الإكمال مشابهة MPI_Irecv.

عند العودة من هذه الدالة، يتم تعيين مقبض الرسالة إلى MPI_MESSAGE_NULL.

إذا تم استدعاء هذه الدالة مع MPI_MESSAGE_NO_PROC كوسيطة الرسالة، فسيرجع الاستدعاء على الفور مع كائن طلب، والذي عند اكتماله، سينتج عنه عنصر حالة تم تعيينه إلىMPI_PROC_NULLالمصدر = MPI_ANY_TAGالعلامة = والعد = 0، كما لو تم إصدار تلقي من MPI_PROC_NULL. استدعاء هذه الدالة مع MPI_MESSAGE_NULL خاطئ.

المتطلبات

منتج

Microsoft MPI v6

الرأس

Mpi.h; Mpif.h

المكتبة

Msmpi.lib

Dll

Msmpi.dll

راجع أيضًا

MPI Point to Point Functions

MPI_Irecv

MPI_Mrecv

MPI_Mprobe

MPI_Improbe