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 |