Parallel dasturlash


MPI_Recv( ((char*))recvBuf) + (i * recvCount * elemSize)



Download 0,6 Mb.
bet20/77
Sana07.07.2022
Hajmi0,6 Mb.
#754293
1   ...   16   17   18   19   20   21   22   23   ...   77
Bog'liq
Parallel dasturlash (1)

MPI_Recv( ((char*))recvBuf) + (i * recvCount * elemSize),
recvCount, recvType, i, ... );
}

E’tibor bering, a) recvType va sendType har xil boʻlishi mumkin va shuning uchun qabul qiluvchi va uzatuvchi tomondan ma’lumotlarni turlicha talqin qiladi; b) qabul qiluvchi vazifasi ham ma’lumotlarni uning qabul qilish buferiga yuboradi.


MPI_Gatherning vektor versiyasi - MPI_Gatherv - turli xil yuborish vazifalarida yuboriladigan ma’lumotlarning TURLI miqdorini belgilash imkonini beradi. Shunga koʻra, qabul qiluvchi tomonda, qabul qiluvchi buferda kiruvchi ma’lumotlar joylashtirilishi kerak boʻlgan pozitsiyalar qatori va barcha vazifalardan ma’lumotlar qismlarining maksimal uzunligi belgilanadi. Ikkala massivda baytlarda EMAS, recvCount tipidagi katakchalar sonida pozitsiyalar/uzunliklar mavjud. Uning hamkasbi:


MPI_Send( sendBuf, sendCount, sendType, rootRank, ... );
if( myRank == rootRank ) {
MPI_Type_extent( recvType, &elemSize );
for( i=0; i
MPI_Recv( ((char*))recvBuf) + displs[i] * recvCounts[i]
* elemSize, recvCounts[i], recvType, i, ... );
}

MPI_Scatter: teskari "tarqalish" operatsiyasini bajaradi - ildiz vazifasidan uzatish buferining qismlari barcha vazifalarning qabul qilish buferlari boʻylab taqsimlanadi. Uning hamkasbi:




if( myRank == rootRank ) {
MPI_Type_extent( recvType, &elemSize );
for( i=0; i
MPI_Send( ((char*)sendBuf) + i*sendCount*elemSize,
sendCount, sendType, i, … );
}
MPI_Recv( recvBuf, recvCount, recvType, rootRank, … );

Uning vektor versiyasi MPI_Scatterv boʻlib, u teng boʻlmagan uzunlikdagi buferlarni olish uchun teng boʻlmagan uzunlikdagi qismlarni yuboradi.


MPI_Allgather MPI_Gather ga oʻxshaydi, lekin qabul qilish bitta vazifada emas, balki HAMMAda amalga oshiriladi: ularning har biri uzatish buferida oʻziga xos tarkibga ega va barchasi qabul qilish buferida bir xil tarkibni oladi. MPI_Gather-da boʻlgani kabi, qabul qilish buferi barcha transmitterlarning ma’lumotlari bilan ketma-ket toʻldiriladi. Teng boʻlmagan ma’lumotlarga ega variant MPI_Allgatherv deb ataladi.
MPI_Alltoall: har bir jarayon uzatish buferini boʻlaklarga boʻlib, qolgan jarayonlarga boʻlaklarni yuboradi; har bir jarayon boshqalardan boʻlaklarni oladi va ularni bir vaqtning oʻzida qabul qilish buferiga joylashtiradi. Bu bitta shishada “choʻp” va “sprey”. Vektor ariant MPI_Alltoallv deb nomlanadi.
Ma’lumotni jamoaviy uzatish funksiyalaridan foydalanishga misol bu erda.
MIT Press tomonidan chop etilgan oʻquv qoʻllanmada ushbu boʻlimda sanab oʻtilgan barcha funksiyalar uchun yaxshi SCHEMA mavjud. Bu qanday ishlashini tushunish oson emas, lekin eslash, agar siz buni allaqachon bir marta tushungan boʻlsangiz, qulaydir.
Kollektiv funksiyalar nuqtadan nuqtaga mos kelmasligini unutmang: masalan, translyatsiyani qabul qilish vazifalaridan birida MPI_Bcast oʻrniga MPI_Recv ga qoʻngʻiroq qilish noqonuniy hisoblanadi.

Download 0,6 Mb.

Do'stlaringiz bilan baham:
1   ...   16   17   18   19   20   21   22   23   ...   77




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish