19
II Amaliy qism
2.1 Murakkab ifodani parallel hisoblash grafini ishlab chiqish
Bizga quyidagi murakkab ifodalar berilgan bo’lsin:
1) Е=(х+(а*((b/c)*d)))-(y-z)
2) E'=((a*b)/(c/d)-((y-z)-x)
Bu murakkab ifodalarning parallel hisoblash grafini ishlab chiqamiz. Dastlab
Е=(х+(а*((b/c)*d)))-(y-z) ifodani parallel hisoblash grafini ishlab chiqamiz.
Buning uchun vertikal ravishda parallel amallar ketma –
ketligini gorzontal
ravishda o’zgaruvchilarni yozib chiqamiz.Bunda parallel bajariladigan amallar bir
– biriga bog’liq bo’lmasligi lozim.
Xuddi shu kabi E'=((a*b)/(c/d)-((y-z)-x) ifoda uchun ham shu grafni tuzib
chiqamiz.
Yuqoridagi E va E' ifodalarda
amallar soni ham, o’zgaruvchilar soni ham
teng. Biroq E ifodani hisoblashda 5 ta takt talab qilinmoqda, E' ifodada esa 3 ta
taktning o’zi yetarli bo’lmoqda.
20
2.2 Murakkab ifodani parallel va ketma-ket hisoblash dasturiy ta'minotini
ishlab chiqish
6-rasm.Berilgan ifodani parallel va ketma-ket hisoblashning dasturiy ta’minoti.
Dastur sodda va ixcham bo’lishi uchun faqatgina bitta oynadan foydalanildi.
Yuqoridagi rasmdan ko’rish mumkin Y murakkab ifodani ketma-ket va parallel
hisoblandi va hisoblash vaqti ham qayt qilingan. Bunda parallel hisoblashni avval
qavslarni ochib chiqib hisoblandi, keyin esa o’z berilish holatida hisoblangan. Bu
yerda a, b, c, d
lar ixtiyoriy haqiqiy sonlar, i esa o’zida [1, 10000] oralig’idagi
sonlarni saqlovchi massivdir.
21
Xulosa
Barcha yirik kompyuterlar va murakkab masalalar kabi iboralar bilan har
doim “parallel” so‘zi hamnafas bo‘lib kelgan:
parallel kompyuterlar, parallel
hisoblash tizimi, parallel dasturlash tillari va h.k.
Keng foydalanishga bu atama birinchi kompyuterlar
berilgan masalani
kerakli paytda yecha olishmagani paydo bo‘lishi bilan kirib kelgan. Bir kompyuter
berilgan vazifani bajara olmasa, unda ko‘pgina kompyuterlarni
bir paytda bir
vazifani bajarishga undash g‘oyasi tug‘ilgan. G‘oya juda foydali edi, ammo
birinchi
kompyuterlar juda ham haybatli, noqulay va texnologik jihatdan
birlashtirish imkoniyatini bermas edi. Keyinchalik texnologiyani rivojlanishi bilan
bu imkoniyatlar amalga oshirila boshlandi.
Ushbu kurs ishini yaratish jarayonida parallellashtirish bo’yicha
bir qancha
bilimlarini o’zlashtirildi. Kurs ishini tayyorlash davomida quyidagilar bajarildi va
ular haqida bilimlarga ega bo’lindi:
- Visual Studio muhiti haqida ma’lumotlarga ega bo’lindi;
- Kompyuterni mutaxassis sifatida o’rganiladi;
- Parallel hisoblash tizimlari va ularning strukturasi ko’rildi;
- Parallel hisoblashni amalga oshiradigan paket (OpenMP) bilan tanishildi;
- Murakkab ifodalarni parallel hisoblash grafini ishlab chiqish o’rganildi;
- Visual Studio muhitida murakkab ifodani parallel va ketma – ket hisoblash
dasturiy ta’minoti yaratildi;