مشاركة عبر


MPI_Iscatterv الدالة

بناء الجملة

int MPIAPI MPI_Iscatterv(
  _In_opt_  const void         *sendbuf,
  _In_opt_  const int          sendcounts[],
  _In_opt_  const int          displs[],
  _In_            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, optional]
    المؤشر إلى مخزن مؤقت يحتوي على البيانات التي سيتم إرسالها بواسطة عملية الجذر.

    يتم تجاهل هذه المعلمة لجميع العمليات غير الجذرية.

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

  • sendcounts[] [in, optional]
    عدد العناصر التي يجب إرسالها إلى كل عملية. إذا كان sendcounts[i] صفرا، فإن جزء البيانات من الرسالة لهذه العملية فارغ.

    يتم تجاهل هذه المعلمة لجميع العمليات غير الجذرية.

  • displs[] [in, optional]
    مواقع البيانات المراد إرسالها إلى كل عملية اتصال. يرتبط كل موقع في الصفيف بالعنصر المقابل لصفيف sendbuf .

    في مصفوفات المعلمات sendbuf و sendcounts و displs، يشير العنصر nth لكل صفيف إلى البيانات التي سيتم إرسالها إلى عملية n th communicator.

    هذه المعلمة مهمة فقط في عملية الجذر.

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

    يتم تجاهل هذه المعلمة لجميع العمليات غير الجذرية.

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

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

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

  • الجذر [in]
    الرتبة في عملية الإرسال داخل communicator المحدد.

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

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

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

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

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

Fortran

    MPI_ISCATTERV(SENDBUF, SENDCOUNTS, DISPLS, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR)
        <type> SENDBUF(*), RECVBUF(*)
        INTEGER SENDCOUNTS(*), DISPLS(*), SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR

الملاحظات

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

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

المتطلبات

منتج

Microsoft MPI v7

الرأس

Mpi.h؛ Mpif.h

المكتبة

Msmpi.lib

Dll

Msmpi.dll

راجع أيضًا

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

MPI_Datatype

MPI_Scatterv

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome