مشاركة عبر


MPI_Grequest_free_function دالة رد الاتصال

MPI_Grequest_free_function هو عنصر نائب لاسم الدالة المعرفة من قبل التطبيق.

بناء الجملة

int MPI_Grequest_free_function(
  _In_opt_ void *extra_state
);

المعلمات

  • extra_state [في، اختياري]
    حالة إضافية.

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

ترجع جميع دالات رد الاتصال رمز خطأ. يتم تمرير التعليمات البرمجية مرة أخرى والتعامل معها حسب الاقتضاء لرمز الخطأ بواسطة الدالة MPI التي استدعت دالة رد الاتصال. على سبيل المثال، إذا تم إرجاع رموز الخطأ، فسيتم إرجاع رمز الخطأ الذي تم إرجاعه بواسطة دالة رد الاتصال بواسطة الدالة MPI التي استدعت دالة رد الاتصال. في حالة استدعاء MPI_WaitanyMPI_Testany يستدعي كل من query_fnfree_fn، سيعيد استدعاء MPI رمز الخطأ الذي تم إرجاعه بواسطة رد الاتصال الأخير، أي free_fn. إذا فشل طلب واحد أو أكثر في استدعاء MPI_Waitsome أو MPI_Waitall أو MPI_Testsome أو MPI_Testall ، فسيرجع استدعاء MPI MPI_ERR_IN_STATUS. في مثل هذه الحالة، إذا تم تمرير استدعاء MPI صفيف من الحالات، فسترجع MPI في كل حالة من الحالات التي تتوافق مع طلب معمم مكتمل رمز الخطأ الذي تم إرجاعه بواسطة الاستدعاء المقابل لدالة رد الاتصال free_fn الخاصة به. ومع ذلك، إذا تم تمرير الدالة MPI MPI_STATUSES_IGNORE، فسيتم فقدان رموز الخطأ الفردية التي يتم إرجاعها بواسطة كل دالة رد اتصال.

Fortran

    SUBROUTINE GREQUEST_FREE_FUNCTION(EXTRA_STATE, IERROR)
        INTEGER IERROR
        INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE

الملاحظات

يتم استدعاء الدالة free_fn لتنظيف الموارد المخصصة للمستخدم عند تحرير الطلب المعمم.

يتم استدعاء رد اتصال free_fn بواسطة MPI_{Wait|Test}{any|some|all} call that completeed the generalized request associated with this callback. يتم استدعاء free_fn بعد استدعاء query_fn لنفس الطلب. ومع ذلك، إذا أكمل استدعاء MPI طلبات معممة متعددة، فلن يتم تحديد الترتيب الذي يتم به استدعاء وظائف رد الاتصال free_fn بواسطة MPI.

يتم أيضا استدعاء رد اتصال free_fn للطلبات المعممة التي يتم تحريرها بواسطة استدعاء MPI_Request_free (لا يوجد استدعاء MPI_{Wait|Test}{any|some|all} سيحدث لمثل هذا الطلب). في هذه الحالة، سيتم استدعاء دالة رد الاتصال إما في MPI_Request_free استدعاء MPI، أو في استدعاء MPI MPI_Grequest_complete، أيهما يحدث أخيرا، أي في هذه الحالة يتم تنفيذ رمز تحرير الفعلي بمجرد حدوث كل من الاستدعاءات MPI_Request_free MPI_Grequest_complete . لا يتم إلغاء تخصيص الطلب إلا بعد اكتمال free_fn . لاحظ أنه سيتم استدعاء free_fn مرة واحدة فقط لكل طلب بواسطة برنامج صحيح.

المتطلبات

منتج

حزمة HPC Pack 2012 MS-MPI القابلة لإعادة التوزيع، حزمة HPC Pack 2008 R2 MS-MPI القابلة لإعادة التوزيع، حزمة HPC Pack 2008 MS-MPI القابلة لإعادة التوزيع أو الأدوات المساعدة للعميل HPC Pack 2008

الرأس

Mpi.h; Mpif.h

راجع أيضًا

الدالات الخارجية ل MPI

MPI_Grequest_start

MPI_Waitall

MPI_Waitsome

MPI_Waitany

MPI_Testall

MPI_Testsome

MPI_Testany