Ma'lumotlar parallelligi va vazifalar parallelligi
Ma'lumotlar parallelligi - bu bir xil vazifa bir vaqtning o'zida turli hodisalar to'plamida bajarilishi.
Vazifa parallelligi bir vaqtning o'zida turli xil vazifalar bajarilishini anglatadi.
Ma'lumotlar parallelligi - bu parallel hisoblash muhitida bir nechta protsessorlar bo'ylab parallellashtirish. U ma'lumotlarni parallel ravishda ishlaydigan turli tugunlar bo'ylab ma'lumotlarni tarqatishga qaratilgan. U har bir element ustida parallel ravishda ishlash orqali massivlar va matritsalar kabi oddiy ma'lumotlar tuzilmalarida qo'llanilishi mumkin. Bu parallelizmning boshqa shakli sifatida vazifa parallelizmidan farq qiladi.
OpenMP va OpenACC. Ushbu API'lar tezlikni taqqoslash uchun natijalarni olish uchun ishlatiladi va tahlil qilinadi.
Ishlov berish soni yuqori bo'lgan joriy arxitekturalar yadrolari parallel ravishda yangi dasturiy ta'minot ehtiyojlarini taklif qiladi. Ketma-ket
Kompyuter dasturlari operatsiyalar ketma-ketligini ta'minlashi kerak protsessorda bajarish uchun.
Parallel dasturlash vazifalarni bajarish uchun har bir protsessorda operatsiyalar ketma-ketligini ta'minlaydi.Parallel, shu jumladan muvofiqlashtiruvchi va birlashtiruvchi operatsiyalar izchil hisoblashda alohida protsessorlar. Bu ehtiyoj Faoliyatni muvofiqlashtirish uchun parallel hisoblash kompyuter jarayonlarini dasturlashning yangi o'lchovi.
Muayyan muammolar uchun algoritmlarni qayta shakllantirish kerak
bajariladigan ishlov berish operatsiyalarini yaratuvchi usul turli protsessorlar.
Chunki har bir parcha uchun bir xil dastur bajariladi. Ma'lumotlar oqimini boshqarishning murakkab birligiga juda kam ehtiyoj bor va u turli xil ma'lumotlar bilan parallel ravishda ishlaydi.Hisob-kitoblarga yuqori talabga ega, xotiraga kirishning kechikishi kesh gigantlari o'rniga yashirin hisoblar bo'lishi mumkin.
OpenACC - bu API (Ilova dasturlash interfeysi) bo'lib, kompilyatsiya direktivalari to'plamini, ish vaqtini ta'minlaydi.Kutubxonalar va foydalanish mumkin bo'lgan muhit o'zgaruvchilari.
OpenACC solishtirgan ba'zi ob'ektlar mavjud.CUDA-ga, chunki u ishlab chiquvchi tafsilotlaridan saqlaydi.Xost va qurilma xotirasi o'rtasida ma'lumotlarni uzatish, vaqtinchalik ma'lumotlarni saqlash, yadro yuklash vaqtini xaritalash sifatida,Iplar va parallellik. OpenACC dasturchiga ruxsat beradi.Kodni shunday yozish, agar parallelizm e'tiborga olinmasa
ishlab chiquvchi tomonidan yakuniy natijada o'zgarishsiz bir xil kod bilan davom etishi mumkin.CUDA-dan OpenACC-ga ega bo'lgan katta farqlardan biri bu kodni parallellashtirishni osonlashtiradigan kompilyatsiya direktivalaridan foydalanish. Shunday qilib, ishlab chiquvchilar o'zlarining yozishni boshlashlari mumkin.
Algoritmlar ketma-ket va keyinchalik algoritmga OpenACC direktivalarini kiritadi. Bu maslahatlar berishga o'xshaydi
kompilyator kodni parallel aylantiradi.
OpenMP standarti ishlab chiqilgan va u SUN Microsystems, SGI, IBM, Intel va boshqalar kabi ba'zi yirik kompaniyalardan tashkil topgan OpenMP Architecture Review Board (ARB) guruhi tomonidan qo'llab-quvvatlanadi.
1997 yil, umumiy xotira arxitekturalari uchun standart parallel dasturlashni yaratish uchun kuch to'plandi. OpenMP API va yaratishni qo'llab-quvvatlovchi ko'rsatmalar to'plamiga e'tibor qaratadi. Avtomatik va optimallashtirilgan iplar to'plamini amalga oshirish orqali umumiy xotiraga ega parallel dasturlar.Endi uning funksiyalaridan Fortran 77, Fortran 90, C va C++ tillarida foydalanish mumkin.OpenMP-dan foydalanishning afzalliklarini ko'rsatish mumkin.Oddiylik va kodlarning ozgina o'zgarishi, mustahkam qo'llab-quvvatlash parallel dasturlash, tushunish va foydalanish qulayligi uchun direktivalar, bitta qo'llab-quvvatlanadigan ichki parallelizm va ishlatiladigan iplar sonini dinamik sozlash imkoniyati. Bu ishning umumiy maqsadlari amalga oshirish, asoslangan testlar va kuzatishlar, ketma-ket ishlab chiqilgan dastur o'rtasidagi taqqoslash, xuddi shu dastur ko'chiriladi.
CUDA, OpenACC va OpenMP-ga. CUDA, OpenACC va dasturlar bo'yicha ketma-ket ishlab chiqilgan ilovalar o'rtasidagi vaqt ijrosidagi farqlarni tahlil qilish mumkin.Ma'lumotlar bilan muhokama qilinadigan yana bir masala
OpenACC ga ruxsat beruvchi dasturlash abstraktsiyasining tafsilotlari natijalarga salbiy yoki ijobiy ta'sir qiladi.
Parallellashtirish bo'yicha ko'rsatmalarni taqdim etishdan tashqari, OpenMP ishlab chiquvchilarga parallelizmning bir nechta darajalaridan birini tanlash imkonini beradi. Masalan, ular oqimlar sonini qo'lda belgilashlari mumkin. Bundan tashqari, u ishlab chiquvchilarga ma'lumotlar oqimlar o'rtasida almashilganligini yoki oqim uchun shaxsiy ekanligini aniqlash imkonini beradi. OpenMP Linux, Windows va Mac OS X tizimlari uchun bir nechta ochiq manbali va tijorat kompilyatorlarida mavjud.
OpenMP - umumiy xotira qurilmalarida dasturlash usuli. Bu shuni anglatadiki, parallelizm har bir parallel oqim barcha ma'lumotlaringizga kirish huquqiga ega bo'lgan joyda sodir bo'ladi.
Dostları ilə paylaş: |