مشاركة عبر


MPI_Iallreduce الدالة

يجمع بين القيم من جميع العمليات ويوزع النتيجة مرة أخرى على جميع العمليات بطريقة غير محظورة.

بناء الجملة

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

المعلمات

  • sendbuf [in, optional]
    المؤشر إلى البيانات التي سيتم إرسالها إلى جميع العمليات في المجموعة. يتم تحديد عدد ونوع البيانات للعناصر في المخزن المؤقت في معلمات العدد ونوع البيانات .

    إذا كانت معلمة comm تشير إلى intracommunicator، يمكنك تحديد خيار في مكانه عن طريق تحديد MPI_IN_PLACE في جميع العمليات. في هذه الحالة، يتم أخذ بيانات الإدخال في كل عملية من مخزن الاستلام المؤقت، حيث سيتم استبدالها ببيانات الإخراج.

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

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

  • نوع البيانات [in]
    نوع البيانات لكل عنصر في المخزن المؤقت. يجب أن تكون هذه المعلمة متوافقة مع العملية كما هو محدد في معلمة العملية .

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

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

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

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

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

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

Fortran

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

الملاحظات

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

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

المتطلبات

منتج

Microsoft MPI v7

الرأس

Mpi.h؛ Mpif.h

المكتبة

Msmpi.lib

Dll

Msmpi.dll

راجع أيضًا

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

MPI_Datatype

MPI_Op

MPI_Allreduce

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome