|
OpenCL CPU va GPU uchun parallel hisoblash
|
bet | 20/27 | Sana | 18.05.2024 | Hajmi | 1,16 Mb. | | #242810 |
Bog'liq O‘zbekiston respublikasi axborot texnologiyalari va kommunikatsiOpenCL CPU va GPU uchun parallel hisoblash
OpenCL bilan biz qila olashimiz mumkin
Parallel hisoblashni tezlashtirish uchun protsessor va grafik protsessorlardan foydalanishni.
Intensiv hisob-kitoblarni talab qiladigan ilovalar uchun ajoyib tezlikka ega bo'lishni.
Turli qurilmalar va arxitekturalarda tezlashtirilgan portativ kodni yozishni.
AMD ilovalari bilan biz qila olishimiz mumkin:
OpenCL da paralellik vazifalari
Vazifa yadrosi bitta ish elementi sifatida bajariladi
Ma'lumotlarda parallel iteratsiya maydoni yo'q
Moslashuvchan manba tili:
C++ taklif qiladi :
Ma'lumotlarni abstraktsiyalash
Ob'ektga yo'naltirilgan dasturlash
Umumiy shablonlar
Oddiy misol: OpenC C++ ulanishlaridan namuna
#define __CL_ENABLE_EXCEPTIONS
#define __NO_STD_VECTOR
#define __NO_STD_STRING
#if defined(__APPLE__) || defined(__MACOSX)
#include
#else
#include
#endif
#include
#include
#include
const char * helloStr = "__kernel void hello(void) { }\n";
2.4 C++ Parallel Dasturlash Threading Building Blocks (TBB).
TBB - bu C++ tilida parallel dasturlarni yozish uchun yechim bo'lib, u C++ tilida parallel dasturlash uchun eng ommabop va keng ko'lamli yordamga aylandi.
TBB keng tarqalgan va juda mashhur. 10 yildan ortiq vaqt davomida TBB vaqt sinovdan o'tdi va C++ standartiga parallel dasturlash yordamini kiritishga ta'sir ko'rsatdi. TBB 2006 yilda taqdim etilgan, shuning uchun u C++ 11 dan oldingi kompilyatorlarni qo'llab-quvvatlaydi. TBB bu C++ da parallel dastur yozishning eng yaxshi usuli va TBB dan foydalanishda bizga juda samarali yordam berishini bilamiz. TBB birinchi marta 2006 yilda paydo bo'lgan. Bu Intel kompaniyasining parallel dasturlash bo'yicha mutaxassislari tomonidan o’ylab topilgan bo'lib, ularning ko'pchilligi parallel dasturlash modellarida, jumladan OpenMPda o'n yildan ko’proq tajribaga ega edi. TBB jamoasining ko'plab a'zolari ilgari OpenMP ilovalarini ishlab chiqish va qo'llab-quvvatlash orqali OpenMP-ni katta muvaffaqiyatga olib chiqishga yordam berish uchun yillar davomida yordam berishgan. Ko'p yadroli protsessorlarda TBB tezda ommlashib ketdi va C++ dasturchilari uchun eng mashhur parallel dasturlash modeli sifatiga aylandi. TBB o'zining birinchi o'n yilligida keng ko’lamli to'plamini o'z ichiga olgan holda rivojlandi, bu uni yangi mutaxassislar uchun parallel dasturlash uchun aniq tanlovga aylantirdi. Ochiq kodli loyiha sifatida TBB butun dunyo bo'ylab fikr-mulohazalarga aylandi. TBB o’zgarishli g'oyalarni ilgari suradi: parallel dasturlash dasturchiga hech ikkilanmasdan parallelizm imkoniyatlarini ochib berishga imkon beradi va asosiy dasturlash modelini amalga oshirish (TBB)uchun real vaqtda ishlab turgan qurilmalar bilan taqqoslanishi kerak. Parallel dasturlash uzoq tarixga ega bo'lib, 1950-yillar va undan keyingi yillar davomiga borib taqaladi. O'n yillar davomida olimlar superkompyuterlar uchun keng ko'lamli parallel simulyatsiyalarni ishlab chiqildi va ko'p protsessorli asosiy kompyuterlar uchun korporativ ilovalarni ishlab chiqildi. Ammo bundan 10 yil oldin, Shaxsiy kompyuterlar va noutbuklar uchun mo'ljallangan birinchi ko'p yadroli chiplar bozorga chiqa boshladi. Ushbu birinchi ko'p yadroli kompyuterlar va noutbuk tizimlarida protsessorlar soni kichik edi - faqat ikkita yadro. Agar ko'p yadroli protsessorlar asosiy streamga aylansa, parallel dasturlash ham asosiy streamga aylanishi kerak edi, ayniqsa performance haqida qayg'uradigan ishlab chiquvchilar uchun.
TBB kutubxonasi birinchi marta 2006 yil sentyabr oyida asosiy parallel dasturlashning noyob muammolarini hal qilish uchun chiqarilgan. Uning hozirgi maqsadi va birinchi marta taqdim etilganidagi asosiy maqsadi, ishlab chiquvchilarga turli xil arxitekturalar va ko'proq yadrolarga ega yangi platformalar joriy etilganda davom etadigan ilovalarni yaratishning oson va kuchli usulini taqdim etish edi.
|
| |