204-guruh Abduvaliyev Asqarali



Download 0,49 Mb.
Sana08.04.2023
Hajmi0,49 Mb.
#926032
Bog'liq
6-topshiriq


204-guruh Abduvaliyev Asqarali
MPI_Isend, MPI_Irecv, MPI_Iprobe, MPI_Wait, MPI_Waitall, MPI_Test, MPI_Testall funksiyalarini barchasiga alohida alohida dastur tuzib qay holatlarda va qanday ishlatilishini tushintirib bering.
Quyidagi kod C++ da MPI_Isend() va MPI_Irecv() funksiyalarini ishlatadigan to'liq dasturni ko'rsatadi. Dastur yagona xabar jo'natuvchisi va qabul qiluvchisi (rank 0 va rank 1) orasida xabar almashishni o'rganadi:

Bu dasturda yagona xabar jo'natuvchisi (rank 0) massivni to'ldiradi va uni MPI_Isend() orqali o'zi ichiga jo'natadi. Rank 1 processor esa MPI_Irecv() orqali messagingni qabul qiladi, qayta ko'rib chiqib, uni o'ziga yozadi va uni MPI_Isend() yordamida qayta jo'natadi. Va buning natijasida yagona xabar jo'natuvchisi uni qabul qiladi, qayta ko'rib chiqib va uni chiqaradi.
Kod natijasi:


MPI_Irecv()
Bu method ansixron tarzda ma’lumot qabul qilish uchun ishlatilinadi. MPI_Irecv methodi quyidagicha bo’ladi:
Int MPI_Irecv(void*buf, int count, MPI_Datatype datatype, int source, int msgtag, MPI_Comm comm, MPI_Request*request)
request: asinxron xabarni qabul qilish identifikatori. Xabarni qabul qilish MPI_Recv ga o'xshaydi, lekin pastki dasturdan qaytish buferda xabar qabul qilinishini kutmasdan, qabul qilish jarayoni ishga tushirilgandan so'ng darhol sodir bo'ladi.


Bu misolda 1 jarayondan 2 – jarayonga ma’lumot yuborilmoqda va MPI_Irecv bilan qabul qilinmoqda va dastur ma’lumotni ansixron tarzda muvofaqiyatli qabul qilib olmoqda. Natija konsilda chiqarildi.
MPI_Iprobe()
MPI_Iprobe funksiyasi MPI komunikatsiyalari orqali xabar olishni tekshirish uchun ishlatiladi. MPI_Iprobe ishlatilishi quyidagicha:
Int MPI_Iprobe( int source, int msgtag, MPI_Comm comm, int*flag, MPI_Status*status)
Misol uchun:


MPI_Testall()
MPI_Test va MPI_Testall funksiyalari, MPI_Isend va MPI_Irecv kabi asinkron komandalarni tekshirish uchun ishlatiladigan funksiyalar hisoblanadi.
MPI_Testall funksiyasi esa berilgan hamma so'rovlarning javoblari keldimi kelmaganimi aniqlab chiqadi. Bu quyidagi kabi ishlatiladi:
int MPI_Testall (int count, MPI_Request *array_of_requests, int *flag, MPI_Status *array_of_statuses)
Bu yerda yerda request aloqa jarayonini identifikatori, flag agar aloqa hodisasi tugallangan bo’lsa TRUE aks holda fals qaytaradi, status aloqa jarayoni (xabar) holati. count aloqa hodisalari soni.
Misol uchun:

Download 0,49 Mb.

Do'stlaringiz bilan baham:




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