Parallel dasturlash


Amal Operandlar uchun ruxsat etilgan tip



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

Amal

Operandlar uchun ruxsat etilgan tip

MPI_MAX, MPI_MIN

butun va haqiqiy

MPI_SUM, MPI_PROD

butun, haqiqiy, kompleks

MPI_LAND, MPI_LOR, MPI_LXOR

butun va mantiqiy

MPI_LAND, MPI_LOR, MPI_LXOR

butun (shu jumaladan bayt)

Vektor yacheykalari uchun amallar tomonidan qoʻllab-quvvatlanadigan turlar soni yuqorida sanab oʻtilganlar bilan cheklangan. Boshqa oʻrnatilgan yoki maxsus turdagi spetsifikatsiyalardan foydalanib boʻlmaydi! Shuni ham yodda tutingki, barcha operatsiyalar assotsiativ ("(a + b) + c = a + (b + c)") va kommutativ ("a + b = b + a").


MPI_Allreduce: natija barcha vazifalarga yuboriladi, "root" parametri oʻchiriladi.
MPI_Reduce_scatter: har bir vazifa butun natija massivini emas, balki uning bir qismini oladi. Bu qismlarning uzunligi funksiyaning massiv-uchinchi parametrida joylashgan. Barcha vazifalardagi boshlangʻich massivlarning oʻlchami bir xil va natijada olingan massivlarning uzunliklari yigʻindisiga teng.
MPI_Scan: MPI_Allreduce ga oʻxshaydi, chunki har bir topshiriq natijalar qatorini oladi. Asosiy farq: bu erda i topshiriqdagi natija massivining mazmuni 0 dan i gacha boʻlgan raqamlar bilan vazifalar massivlari ustida operatsiyani bajarish natijasidir.
Oʻrnatilganlarga qoʻshimcha ravishda, foydalanuvchi oʻz operatsiyalarini kiritishi mumkin, ammo ularni yaratish mexanizmi bu yerda yoritilgan. Buning uchun MPI_Op_create va MPI_Op_free funksiyalari, shuningdek, MPI_User_function turi ishlatiladi.

9.3. Kommunikatorlar, guruhlar va aloqa joylari


Guruh - bu tarmoqlar toʻplami. Bitta tarmoq bir nechta guruhlarga a’zo boʻlishi mumkin. Dasturchi MPI_Group tipi va shu turdagi oʻzgaruvchilar va konstantalar bilan ishlaydigan funksiyalar toʻplami bilan ta’minlangan. Aslida, ikkita konstanta mavjud: MPI_GROUP_EMPTY ni qaytarish mumkin, agar soʻralgan xususiyatlarga ega boʻlgan guruh printsipial ravishda yaratilishi mumkin boʻlsa-da, lekin hali tarmoqlari boʻlmasa; MPI_GROUP_NULL soʻralgan xususiyatlar mos kelmasa qaytariladi. MPI kontseptsiyasiga koʻra, u yaratilgandan soʻng, guruhni toʻldirish yoki qisqartirish mumkin emas - faqat mavjud boʻlgan tarmoqlar asosida kerakli tarmoqlar toʻplami uchun yangi guruh yaratish mumkin.
"Aloqa domeni" mavhum tushunchadir: dasturchida aloqa domenini toʻgʻridan-toʻgʻri tavsiflovchi ma’lumotlar turi mavjud emas va ularni boshqarish funksiyalari mavjud emas. Aloqa zonalari kommunikatorlar bilan birga avtomatik ravishda yaratiladi va yoʻq qilinadi. Bitta aloqa hududining abonentlari bir yoki ikkita guruhning HAMMA vazifalari hisoblanadi.
Kommunikator yoki aloqa hududi deskriptori uch qavatli pirogning yuqori qismidir (guruhlar, aloqa zonalari, aloqa hududi deskriptorlari), unda vazifalar "pishiriladi": dasturchi ma’lumotlarni uzatish funksiyalarini chaqirib, kommunikatorlar bilan shugʻullanadi., shuningdek, yordamchi funksiyalarning mutlaq koʻpchiligi.
Bitta aloqa sohasiga bir nechta kommunikatorlar mos kelishi mumkin.
Kommunikatorlar "muloqot qilmaydigan tomirlar" dir: agar ma’lumotlar bitta kommunikator orqali yuborilsa, qabul qiluvchi tarmoq uni faqat bir xil kommunikator orqali qabul qila oladi, boshqasi orqali emas.
Nima uchun bizga turli guruhlar, turli xil muloqot sohalari va turli tavsiflovchilar kerak?
• Mohiyatan, ular xabar identifikatorlari bilan bir xil maqsadga xizmat qiladi — ular maqsad va manzil shoxlariga bir-birini va xabar mazmunini ishonchliroq aniqlashga yordam beradi;
• Parallel dastur doirasidagi tarmoqlar oraliq vazifalarni hal qilish uchun - guruhlar va guruhlar orqali aloqa sohalarini yaratish orqali subkollektivlarga birlashtirilishi mumkin. Ushbu aloqa hududining tavsiflovchisidan foydalangan holda, tarmoqlar subkolektivdan tashqaridan hech narsa olmasliklari kafolatlanadi va ular hech narsa yubormaydilar. Bunga parallel ravishda, ular subkollektivdan tashqarida oʻtkazish uchun oʻz ixtiyorida boʻlgan har qanday boshqa kommunikatordan foydalanishda davom etishlari mumkin, masalan, butun dastur doirasida ma’lumotlar almashinuvi uchun MPI_COMM_WORLD;
• Kollektiv funksiyalar argument tomonidan qabul qilingan kommunikatordan nusxa yaratadi va ularning xabarlari asl kommunikator orqali tarqaladigan “nuqtadan nuqtaga” funksiyalarining xabarlari bilan tasodifan aralashib ketishidan qoʻrqmasdan ma’lumotlarni dublikat orqali uzatadi;
• Turli xil kod qismlarida bir xil maqsadda dasturchi ma’lumotlarni tarmoqlar oʻrtasida turli kommunikatorlar orqali uzatishi mumkin, ulardan biri ikkinchisini nusxalash orqali yaratilgan.
Kommunikatorlar avtomatik ravishda taqsimlanadi ("Yangi kommunikator yaratish" oilasining funksiyalari boʻyicha) va ular uchun joker yoʻq ("har qanday kommunikator orqali qabul qilish") - bu ularning xabar identifikatorlariga nisbatan yana ikkita muhim afzalliklari. Identifikatorlar (butun sonlar) foydalanuvchi tomonidan qoʻlda ajratiladi va bu qabul qiluvchi tomonda chalkashlik tufayli ikkita keng tarqalgan xatoning manbai:
• turli ma’noli xabarlarga xatolik tufayli qoʻlda bir xil identifikator tayinlanadi;
• Joker bilan qabul qilish funksiyasi hamma narsani, jumladan, tarmoqning boshqa joyida qabul qilinishi va qayta ishlanishi kerak boʻlgan xabarlarni ketma-ket siljitadi.
Shuni esda tutish kerakki, kommunikatorni yaratuvchi HAMMA funksiyalar JAMOAVIYdir. Aynan mana shu sifat bunday funksiyalarga turli tarmoqlarda YANGILIK deskriptorni qaytarish imkonini beradi.
Jamoaviylik, quyidagicha:
• funksiya argumentlaridan biri kommunikator hisoblanadi;
• funksiya koʻrsatilgan kommunikatorning HAMMA abonent tarmoqlari tomonidan chaqirilishi kerak.

9.4. Kommunikatorlar va guruhlarni yaratish



Download 0,6 Mb.

Do'stlaringiz bilan baham:
1   ...   18   19   20   21   22   23   24   25   ...   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