II.OpenMP texnologiyasi.
2.1 OpenMP-da abstraktsiya darajalari
OpenMP - bu umumiy xotira dasturlash interfeysi (API), uning xususiyatlari, biz yuqorida ko'rganimizdek, umumiy xotirani osonlashtirish bo'yicha avvalgi sa'y-harakatlarga asoslangan. parallel dasturlash. Rasmiy ravishda tasdiqlangan standart o'rniga, bu a manfaatiga ega bo'lgan ARB a'zolari o'rtasida erishilgan kelishuv
portativ, foydalanuvchi uchun qulay va umumiy xotirada parallel dasturlashning samarali yondashuvi. OpenMP keng doirada amalga oshirish uchun mos bo'lishi kerak. SMP me'morchiligi. Sifatida ko'p yadroli mashinalar va ko'p ishlov berish protsessorlari tarqaldi bozorda uniprotsessor uchun dasturlar yaratish uchun tobora ko'proq foydalanilishi mumkin kompyuterlar ham. Endi API-larni tushunish uchun ramkamizni o'rnatdik va uni OpenMP-da qo'llaymiz. Bi qilamiz yuqoridan boshlang (spetsifikatsiya modeli) va biznikida ishlaydi eng past darajadagi qatlamga o'tish (xarajatlar modeli).
Spetsifikatsiya modeli: OpenMP rasmiy ravishda bitta spetsifikatsiya modelini aniqlamaydi. OpenMP umumiydir API va shuning uchun bir qator texnik modellarni qo'llab-quvvatlaydi. Biroq, biz OpenMP-ni yaratishda bir nechta keng spetsifikatsiya modellarini yodda tutdik. OpenMP birinchi navbatda qatorga yo'naltirilgan ilmiy maqsadga yo'naltirilgan edi va muhandislik dasturlari. Shunday qilib, biz tasavvur qildik vazifalar bajariladigan parallel spetsifikatsiya modeli pastadir takrorlanishiga to'g'ri keladi. Garchi bizning emas asl maqsad, OpenMP ham samarali ekanligi aniq SPMD yoki bitta dastur uchun bir nechta ma'lumotlar yoki SPMD uchun modellar. Dasturlash modeli: OpenMP a ga asoslangan vilkalar qo'shilish dasturlash modeli. Bu ko'rsatiladi OpenMP dasturi hayotni odatdagidek boshlaydi ketma-ket dastur. Ushbu bitta boshqaruv elementi master thread deb nomlangan. Dasturning bajarilishining bir nuqtasida, asosiy mavzu vazifalar bilan duch keladi bir vaqtning o'zida bajarilishi mumkin. Shu nuqtada, bajaruvchi dastur bir nechta iplarni ajratib turadi. Ushbu iplar jamoani tashkil qiladi va ular parallel ravishda a parallel mintaqa deb nomlangan bayonotlar to'plami. Ohirida parallel mintaqaning iplari jamoasi tugaydi (qo'shiladi) va asl, asosiy ip davom etadi.
Keyinchalik, paralellikdan foydalanish uchun qo'shimcha imkoniyatlar paydo bo'lishi mumkin. Ushbu nuqtalarda, OpenMP dasturchisi qo'shimcha mintaqalarni birlashtirishi va parallel mintaqalarda bajarilishini biz kabi davom etishi mumkin
ilgari tasvirlangan.Fork join dasturlash modeli yagona modeldir OpenMP spetsifikatsiyasida aniq belgilangan. Boshqalar modellari OpenMP bilan bog'liq, ammo bu modellar nazarda tutilgan.
Hisoblash modeli: OpenMP juda oddiy hisoblash modelini nazarda tutadi. OpenMP taxmin qiladi. OpenMP dasturlari ishlaydigan mashinalar nosimmetrikdir
ko'p protsessorlar. Boshqacha qilib aytganda, OpenMP dasturlash modeli kompyuterdan iborat deb taxmin qiladi mavjud bo'lgan yagona, umumiy manzil maydoni har bir protsessordan bir vaqtning o'zida kirish huquqiga ega har bir ip. OpenMP dasturchilari odatda ketma-ket izchil xotirani qabul qiladilar, ammo texnik xususiyatlar yo'q bu yoki boshqa har qanday o'ziga xos xotira izchilligini talab qilish
model. OpenMP dasturlarini xaritalash mumkin ekanligini unutmang bir xil bo'lmagan manzil maydonlariga yoki hatto klasterlarga 86 T.G. Mattson / OpenMP qanchalik yaxshi ketma-ket mintaqalarda va bir nechta parallel iplar bilan parallel mintaqalarda ishlaydigan asosiy ipni ko'rsatadigan OpenMP dasturlash modeli.
Ammo bu dasturchining spetsifikatsiyasiga kengaytirilganligi yoki jiddiy ishlash cheklovlari bilan amalga oshiriladiboshqarish kerak. Xarajatlar modeli: OpenMP referatni aniqlamaydi mashina yoki bu mashina haqiqiy tizimlarga qanday xaritalashini. Harajat modelini tashlab yuborish dangasalik tufayli emas editil dizaynerlarining qismi. Xaritaga tushirish uchun OpenMP dasturlari eng katta tizimlar qatoriga kiradi biron bir arxitekturaga ortiqcha ustunlik bermasdan, til ta'rifi ataylab qoldirilgan xarajatlar modeli.
Do'stlaringiz bilan baham: |