إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
بناء الجملة
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 |