مشاركة عبر


MPI_Iallgather الدالة

يجمع البيانات من جميع أعضاء المجموعة ويرسل البيانات إلى جميع أعضاء المجموعة بطريقة غير محظورة.

بناء الجملة

int MPIAPI MPI_Iallgather(
  _In_opt_  const void         *sendbuf,
  _In_             int         sendcount,
  _In_            MPI_Datatype sendtype,
  _Out_opt_       void         *recvbuf,
  _In_            int          recvcount,
  _In_            MPI_Datatype recvtype,
  _In_            MPI_Comm     comm,
  _Out_           MPI_Request  *request
);

المعلمات

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

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

  • sendcount [in]
    عدد العناصر في المخزن المؤقت المحدد في المعلمة sendbuf . إذا كان عدد الإرسال صفرا، يكون جزء البيانات من الرسالة فارغا.

  • نوع الإرسال [in]
    نوع بيانات MPI للعناصر في المخزن المؤقت إرسال.

  • recvbuf [out, optional]
    المؤشر إلى مخزن مؤقت يحتوي على البيانات التي يتم تلقيها من كل عملية. يتم تحديد عدد ونوع البيانات للعناصر في المخزن المؤقت في معلمات recvcount و recvtype .

  • recvcount [in]
    عدد العناصر في المخزن المؤقت للاستلام. إذا كان العدد صفرا، فإن جزء البيانات من الرسالة فارغ.

  • نوع المستطيل [in]
    نوع بيانات MPI للعناصر في المخزن المؤقت للاستلام.

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

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

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

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

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

Fortran

    MPI_IALLGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, COMM, REQUEST, IERROR)
        <type> SENDBUF(*), RECVBUF(*)
        INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, COMM, REQUEST, IERROR

الملاحظات

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

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

المتطلبات

منتج

Microsoft MPI v7

الرأس

Mpi.h؛ Mpif.h

المكتبة

Msmpi.lib

Dll

Msmpi.dll

راجع أيضًا

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

MPI_Gather

MPI_Datatype

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome