مشاركة عبر


MPI_Allreduce الدالة

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

بناء الجملة

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

المعلمات

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

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

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

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

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

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

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

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

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

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

Fortran

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

الملاحظات

إذا كانت comm عبارة عن متداخل، يتم تخزين نتيجة تقليل البيانات التي توفرها العمليات في المجموعة أ في كل عملية في المجموعة ب، والعكس صحيح. يجب أن توفر كلتا المجموعتين وسيطات العد ونوع البيانات التي تحدد نفس توقيع النوع.

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

المتطلبات

منتج

حزمة 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

MPI_Reduce

MPI_Datatype

MPI_Op