مشاركة عبر


الدالة MPI_Waitsome

يكمل بعض من العديد من العمليات المعلقة.

بناء الجملة

int MPIAPI MPI_Waitsome(
        int                                         incount,
        _Inout_count_(incount) MPI_Request          array_of_requests,
  _Out_ int                                         *outcount,
        _Out_cap_post_count_(incount,*outcount) int *array_of_indices,
        _Out_cap_post_count_(incount,*outcount)     *array_of_statuses
);

المعلمات

  • عدد الحسابات
    عدد الإدخالات في المعلمة array_of_requests .

  • array_of_requests
    صفيف من مقابض MPI_Request للعمليات المعلقة.

  • عدد الصادرات [خارج]
    عدد الطلبات المكتملة.

  • array_of_indices
    صفيف من المؤشرات في array_of_requests العمليات التي اكتملت. تتم فهرسة array_of_requests من الصفر في C، ومن واحد في Fortran.

  • array_of_statuses
    صفيف كائنات الحالة للعمليات التي اكتملت أو MPI_STATUSES_IGNORE.

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

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

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

Fortran

    MPI_WAITSOME(INCOUNT, ARRAY_OF_REQUESTS, OUTCOUNT, ARRAY_OF_INDICES, ARRAY_OF_STATUSES, IERROR)
        INTEGER INCOUNT, ARRAY_OF_REQUESTS(*), OUTCOUNT, ARRAY_OF_INDICES(*),
        ARRAY_OF_STATUSES(MPI_STATUS_SIZE,*), IERROR

الملاحظات

صفيف المؤشرات في النطاق 0 إلى incount - 1 ل C وفي النطاق 1 إلى incount ل Fortran.

يتم تجاهل طلبات NULL؛ إذا كانت جميع الطلبات فارغة، فسيرجع الروتين مع تعيين عدد الصادرات إلى MPI_UNDEFINED.

في حين أنه من الممكن سرد مقبض طلب أكثر من مرة في array_of_requests، فإن مثل هذا الإجراء يعتبر خاطئا وقد يتسبب في إنهاء البرنامج بشكل غير محدد أو إنتاج نتائج غير صحيحة.

يوفر MPI_Waitsome واجهة مثل استدعاءات Unix "select" أو "poll"، وفي تنفيذ qualilty العالي، يشير إلى جميع الطلبات التي اكتملت عند استدعاء MPI_Waitsome . ومع ذلك، فإن MPI_Waitsome يضمن اكتمال طلب واحد على الأقل؛ لا يوجد ما يضمن إرجاع جميع الطلبات المكتملة، أو أن الإدخالات في array_of_indices ستكون في ترتيب متزايد. أيضا، قد يتم إرجاع الطلبات التي تم إكمالها أثناء تنفيذ MPI_Waitsome أو لا يتم إرجاعها، اعتمادا على توقيت إكمال الرسالة.

المتطلبات

منتج

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

الرأس

Mpi.h; Mpif.h

المكتبة

Msmpi.lib

Dll

Msmpi.dll

راجع أيضًا

MPI Point to Point Functions