مشاركة عبر


MPI_Igather الدالة

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

بناء الجملة

int WINAPI MPI_Igather(
  _In_      void         *sendbuf,
            int          sendcount,
            MPI_Datatype sendtype,
  _Out_opt_ void         *recvbuf,
  _In_      int          recvcount,
  _In_      MPI_Datatype recvtype,
  _In_      int          root,
  _In_      MPI_Comm     comm,
  _Out_     MPI_Request  *request
);

المعلمات

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

  • عدد الإرسال
    عدد عناصر نوع الإرسال في sendbuf. إذا كانت القيمة صفرا، فإن جزء البيانات من الرسالة فارغ.

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

  • recvbuf [out, optional]
    المؤشر إلى مخزن مؤقت يحتوي على البيانات المستلمة من كل عملية على الجذر، بما في ذلك البيانات المرسلة بواسطة عملية الجذر (هامة فقط في الجذر). يتم تجاهل مخزن الاستلام المؤقت recvbuf لجميع العمليات غير الجذرية. في عملية الجذر، يتكون recvbuf من عناصر متعاقبة منMPI_Datatype المشار إليها بواسطة مقبض recvtype . يتم تحديد طول الرسالة من حيث عدد العناصر، وليس عدد وحدات البايت.

  • recvcount [in]
    عدد عناصر recvtype في recvbuf. إذا كانت القيمة صفرا، فإن جزء البيانات من الرسالة فارغ (مهم فقط في الجذر).

  • نوع المستطيل [in]
    مقبض MPI_Datatype يمثل نوع البيانات لكل عنصر في recvbuf (مهم فقط في الجذر).

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

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

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

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

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

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

Fortran

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

الملاحظات

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

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

المتطلبات

منتج

Microsoft MPI v6

الرأس

Mpi.h؛ Mpif.h

المكتبة

Msmpi.lib

Dll

Msmpi.dll

راجع أيضًا

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

MPI_Datatype

MPI_Gather

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome