مشاركة عبر


MPI_Improbe الدالة

فحوصات لرسالة بطريقة غير محظورة. يوفر آلية لتلقي الرسالة المحددة التي تمت مطابقتها بغض النظر عن عمليات الفحص/التلقي المتداخلة. يتم إلغاء وضع الرسالة المتطابقة في قائمة انتظار الاستلام، مما يمنح التطبيق فرصة لتحديد كيفية تلقي الرسالة استنادا إلى المعلومات التي تم إرجاعها بواسطة عملية فحص المطابقة غير المحظورة. ثم يتم تلقي الرسالة المتطابقة باستخدام الدالة MPI_Mrecv أو MPI_Imrecv .

بناء الجملة

int MPIAPI MPI_Improbe(
  _In_  int         source,
  _In_  int         tag,
  _In_  MPI_Comm    comm,
  _Out_ Int         *flag,
  _Out_ MPI_Message *message,
  _Out_ MPI_Status  *status
);

المعلمات

  • المصدر [in]
    ترتيب المصدر أو MPI_ANY_SOURCE.

  • العلامة [in]
    علامة الرسالة أو MPI_ANY_TAG.

  • comm [in]
    مقبض موصل MPI.

  • علامة [خارج]
    عند الإرجاع، يحتوي على مؤشر إلى عدد صحيح يشير إلى ما إذا كان المصدر المحدد والعلامةوcomm متطابقين. تشير القيمة غير الصفرية إلى أن المعلمات متطابقة.

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

  • الحالة [خارج]
    عند الإرجاع، يحتوي على مؤشر إلى بنية MPI_Status حيث يتم تخزين معلومات حول الرسالة.

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

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

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

Fortran

    MPI_IMPROBE(SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS, IERROR)
          INTEGER SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

الملاحظات

ترجع هذه الدالة العلامة = true إذا كانت هناك رسالة يمكن تلقيها وتتطابق مع النمط المحدد بواسطة مصدر الوسيطات والعلامةوcomm. يتطابق الاستدعاء مع نفس الرسالة التي كان سيتم تلقيها بواسطة استدعاء MPI_Recv تنفيذها في نفس النقطة في البرنامج وإرجاع نفس القيمة التي كان سيتم إرجاعها بواسطة MPI_Recv في الحالة. بالإضافة إلى ذلك، يقوم بإرجاع مؤشر إلى الرسالة المتطابقة في الرسالة . وإلا، فإن الاستدعاء يرجع العلامة = false ويترك الحالةوالرسالة غير معرفة.

المتطلبات

منتج

Microsoft MPI v6

الرأس

Mpi.h; Mpif.h

المكتبة

Msmpi.lib

Dll

Msmpi.dll

راجع أيضًا

MPI Point to Point Functions

MPI_Mprobe

MPI_Recv

MPI_Imrecv