مشاركة عبر


MPI_Ireduce الدالة

ينفذ عملية تقليل عمومية (على سبيل المثال المجموع أو الحد الأقصى أو المنطقي و) عبر جميع أعضاء المجموعة بطريقة غير محظورة.

بناء الجملة

int MPIAPI MPI_Ireduce(
  _In_      void         *sendbuf,
  _Out_opt_ void         *recvbuf,
  _In_      int          count,
  _In_      MPI_Datatype datatype,
  _In_      MPI_Op       op,
  _In_      int          root,
  _In_      MPI_Comm     comm,
  _Out_     MPI_Request  *request
);

المعلمات

  • sendbuf [in]
    المؤشر إلى مخزن مؤقت يحتوي على البيانات من هذه الرتبة لاستخدامها في التخفيض. يتكون المخزن المؤقت من عدد العناصر المتتالية MPI_Datatype المشار إليها بواسطة مقبض نوع البيانات . يتم تحديد طول الرسالة من حيث عدد العناصر، وليس عدد وحدات البايت.

  • recvbuf [out, optional]
    المؤشر إلى مخزن مؤقت لتلقي نتيجة عملية التقليل. هذه المعلمة مهمة فقط في عملية الجذر.

  • العدد [in]
    عدد العناصر التي يجب إرسالها من هذه العملية.

  • نوع البيانات [in]
    مقبض MPI_Datatype يمثل نوع البيانات لكل عنصر في sendbuf.

  • op [in]
    مؤشر MPI_Op يشير إلى عملية التخفيض العالمية التي يجب تنفيذها. يمكن أن يشير المقبض إلى عملية مضمنة أو محددة للتطبيق. للحصول على قائمة بالعمليات المعرفة مسبقا، راجع موضوع MPI_Op .

  • الجذر [in]
    رتبة عملية الاستلام داخل MPI_Commcomm.

  • comm [in]
    مقبض MPI_Comm communicator.

  • طلب [خارج]
    مقبض MPI_Request يمثل عملية الاتصال.

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

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

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

Fortran

    MPI_IREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR) 
        <type> SENDBUF(*), RECVBUF(*) 
        INTEGER COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR

الملاحظات

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

يتم دعم جميع مكالمات الإكمال (على سبيل المثال، MPI_Wait) لعمليات تقليل عدم الحظر.

المتطلبات

منتج

Microsoft MPI v6

الرأس

Mpi.h؛ Mpif.h

المكتبة

Msmpi.lib

Dll

Msmpi.dll

راجع أيضًا

الدالات الجماعية ل MPI

MPI_Datatype

MPI_Op

MPI_Reduce

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome