الدالة MPI_Iscatter
تشتت البيانات من عضو واحد عبر جميع أعضاء المجموعة بطريقة غير محظورة. تقوم هذه الدالة بتنفيذ عكس العملية التي يتم تنفيذها بواسطة الدالة MPI_Igather.
بناء الجملة
int MPIAPI MPI_Iscatter(
_In_opt_ const void *sendbuf,
_In_ int sendcount,
_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 تشير إلى أداة داخلية، يمكنك تحديد خيار موضعي عن طريق تحديد MPI_IN_PLACE في عملية الجذر. يتم تجاهل معلمات recvcount و recvtype . لا يزال المتجه المبعثر يعتبر أنه يحتوي على مقاطع n ، حيث n هو حجم المجموعة؛ لا يتم نقل المقطع الذي يتوافق مع عملية الجذر.
sendcount [in]
عدد العناصر في المخزن المؤقت الإرسال. إذا كان عدد الإرسال صفرا، يكون جزء البيانات من الرسالة فارغا.يتم تجاهل هذه المعلمة لجميع العمليات غير الجذر.
sendtype [in]
نوع البيانات لكل عنصر في المخزن المؤقت.يتم تجاهل هذه المعلمة لجميع العمليات غير الجذر.
recvbuf [خارج، اختياري]
المقبض إلى مخزن مؤقت يحتوي على البيانات التي يتم تلقيها في كل عملية. يتم تحديد رقم ونوع البيانات للعناصر في المخزن المؤقت في معلمات recvcount و recvtype .recvcount [in]
عدد العناصر في المخزن المؤقت للاستلام. إذا كان العدد صفرا، يكون جزء البيانات من الرسالة فارغا.نوع مستطيل [in]
نوع بيانات MPI للعناصر في المخزن المؤقت للاستلام.الجذر [in]
رتبة عملية الاستلام داخل التواصل المحدد.comm [in]
مقبض MPI_Comm communicator.طلب [خارج]
مقبض MPI_Request الذي يمثل عملية الاتصال.
القيمة المُرجعة
إرجاع MPI_SUCCESS عند النجاح. وإلا، فإن القيمة المرجعة هي رمز خطأ.
في Fortran، يتم تخزين القيمة المرجعة في المعلمة IERROR .
Fortran
MPI_ISCATTER(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 v7 |
الرأس |
Mpi.h; Mpif.h |
المكتبة |
Msmpi.lib |
Dll |
Msmpi.dll |