1 Maqola “Paralel hisoblash texnologiyalari 2013” xalqaro ilmiy konferensiyasi Dastur qo‘mitasi tomonidan nashrga tavsiya etilgan.
olingan parallel dasturlarni Moskva davlat universitetining "Lomonosov" superkompyuter majmuasida bajarish, 1024 tagacha GPU yordamida bir xil amaliy vazifani amalga oshirish uchun yuqori va past darajadagi dasturlash vositalaridan foydalanishni taqqoslash amalga oshirildi.
1. DVMH modeli. Fortran tili DVMH
DVMH modelini ishlab chiqishda DVM modeli [1] asos qilib olindi, unga quyidagi xususiyatlar qo'shildi:
1) Muayyan tezlatgichda bajarilishi kerak bo'lgan dastur fragmentlarini aniqlash.
Dasturlarning bunday qismlari (hisoblash mintaqalari yoki oddiygina mintaqalar deb ataladi) alohida DVM-sikllar yoki ularning ketma-ketligi bo'lishi mumkin.
2) Mintaqalar tomonidan talab qilinadigan ma'lumotlarni aniqlash.
Har bir mintaqa uchun u uchun zarur bo'lgan ma'lumotlar va ulardan foydalanish turi (kirish, chiqish, mahalliy) ko'rsatilgan.
3) siklning xossalarini va siklning takrorlanishini tezlatkichda aks ettirish qoidalarini belgilash.
Har bir DVM tsikli uchun siz iplar blokining konfiguratsiyasini o'rnatishingiz mumkin (CUDA terminologiyasida). Agar dasturda iplar blokining konfiguratsiyasi o'rnatilmagan bo'lsa, u avtomatik ravishda aniqlanadi.
4) Universal protsessorning operativ xotirasi va tezlatgichlar xotirasi o'rtasidagi ma'lumotlar harakatini boshqarish.
Ma'lumotlar harakati asosan tezlatgichlarda hududlarning ishga tushirilishi va ular ishlatadigan ma'lumotlar haqidagi ma'lumotlarga muvofiq avtomatik ravishda amalga oshiriladi. Universal protsessorda (hisoblash mintaqalaridan tashqarida) ishlaydigan dasturlarning fragmentlari uchun ular tezlatgichdan qanday ma'lumotlar kerakligini va qanday ma'lumotlarni tuzatganligini ko'rsatish uchun maxsus vositalar mavjud.
1.1. Hisob-kitoblarni tashkil etish, ma'lumotlar oqimining spetsifikatsiyasi
Hisoblash hududi dasturning bir qismini (bitta kirish va bitta chiqish bilan) bir yoki bir nechta kompyuterda mumkin bo'lgan bajarish uchun ajratadi.
!DVM$ REGION [band {, band}]
!DVM$ OXIRGI MINTAQ
Mintaqa bir yoki bir nechta tezlatgichlarda va/yoki xost tizimida bajarilishi mumkin, shu bilan birga har qanday mintaqa xost tizimida bajarilishi mumkin va har bir tezlatgich turidan foydalanish imkoniyati mintaqa tarkibiga qo'shimcha cheklovlar qo'yilishi mumkin. .
Masalan, CUDA qurilmasi yordamida istalgan mintaqa kiritish-chiqarish operatsiyalari, tashqi protseduralarga qo'ng'iroqlar, rekursiv qo'ng'iroqlarsiz bajarilishi mumkin.
Hudud qaysi kompyuterlarda ishlashini boshqarish uchun TARGETS bandidan foydalaning (pastga qarang).
Ichki (statik yoki dinamik) hududlarga ruxsat berilmaydi.
DVM-massivlar tanlangan kompyuterlar o'rtasida taqsimlanadi (ularning berilgan og'irliklari va kompyuterlarning tezligini hisobga olgan holda), taqsimlanmagan ma'lumotlar ko'paytiriladi. Hududga joylashtirilgan parallel DVM halqalarining iteratsiyasi tanlanganlar orasida bo'linadi
mintaqa uchun parallel DVM-loop direktivasida ko'rsatilgan parallel tsiklni xaritalash qoidasiga muvofiq kalkulyatorlar tomonidan. Har bir MPI jarayoni tomonidan ishlatiladigan tezlatgichlar soni va turlari atrof-muhit o'zgaruvchilari yordamida o'rnatilishi mumkin va sukut bo'yicha har bir jarayon barcha topilgan qo'llab-quvvatlanadigan tezlatgichlardan foydalanadi.
Hisoblash hududi bandlaridan foydalanib, quyidagilarni belgilashingiz mumkin:
Do'stlaringiz bilan baham: |