Toshkent axborot texnologiyalari universiteti


OpenCL ning rivojlanish tendensiyasi va parallel hisoblashdagi o‘rni



Yüklə 4,21 Mb.
səhifə10/18
tarix27.05.2023
ölçüsü4,21 Mb.
#113620
1   ...   6   7   8   9   10   11   12   13   ...   18
Tayyor Dissertatsiya ishi Abdusalomov Saidmalikxon

2.2. OpenCL ning rivojlanish tendensiyasi va parallel hisoblashdagi o‘rni


OpenCL aslida geterogen tizimlarni parallel dasturlash uchun yangi API.OpenCL ba'zi parallel hisoblash vazifalarini bajarish uchun GPU-dan foydalanishi mumkin. OpenGL grafika uchun, OpenCL esa parallel hisoblash uchun API. OpenCL-ni ishlab chiqish jarayonida barcha texnologik platformalar NVIDIA grafik protsessorlari bo‘lib, aslida OpenCL NVIDIA GPU platformasi asosida ishlab chiqilmoqda. Bundan tashqari, OpenCL-ning birinchi namoyishi NVIDIA GPU-da ham ishladi.
Asosan, OpenCL-bu Windows platformasidagi DirectX-ga teng texnologiya. Boshqacha qilib aytganda, bu apparat va dasturiy ta'minotni bog‘laydigan API interfeysi. Hozirda u OpenGL-ga o‘xshaydi, ammo OpenCL OpenGL-ga qaraganda ancha katta dasturga ega va faqat 3D grafikalar uchun ishlatilmaydi. Agar bitta jumla bilan tavsiflansa, OpenCL-ning roli protsessor va GPU hisoblash resurslarini chaqirish orqali apparat salohiyatini bo‘shatishdir, bu esa dasturlarning tezroq va yaxshiroq ishlashiga imkon beradi.
OpenCL (Open Computing Language) – Ochiq dasturlash standarti bo‘lib, CPU va GPU lar bilan birga ishlaydi. Ushbu kutubxona har xil turdagi apparat va operatsion tizimlarda bajarilishi mumkin bo‘lgan dasturlarni yaratish uchun asosdir hisoblanadi. OpenCL g‘oyasi turli xil qurilmalar va apparat platformalarida, shu jumladan mobil qurilmalar, Shaxsiy kompyuterlar va serverlarda parallel dasturlash uchun yagona standartni ta'minlash zarurligidan kelib chiqqan. Ilgari dasturchilar har bir alohida qurilma uchun dasturlarning turli xil versiyalarini yozishga majbur bo‘lishgan.
OpenCL Apple Inc tomonidan ishlab chiqarilgan bo‘lib 2008 yildan boshlab AMD, Intel, Nvidia, IBM va boshqalar kabi kompaniyalar tomonidan qo‘llab-quvvatlanib va rivojlanib kelmoqda.
OpenGL rivojlanishini uch bosqichga ajratish mumkin.

2.3- rasm. OpenCL rivojlanishidagi asosiy voqealar
2011 yil boshida kompyuter grafikasi bo‘yicha ochiq standartlarni ishlab chiqish bo‘yicha konsortsium bo‘lgan Khronos Group OpenCL-ni rasmiy standart sifatida qabul qildi. Bu OpenCL-dan sanoatda kengroq foydalanish uchun eshiklarni ochdi, shu jumladan ilmiy tadqiqotlar, ommaviy axborot vositalari, o‘yinlar va katta hisoblash quvvatini talab qiladigan boshqa sohalar uchun dasturiy ta'minot[18].
O‘shandan beri OpenCL rivojlanishda va yaxshilanishda davom etmoqda. Standartning yangi versiyalari sensorli ekranlar, virtual va kengaytirilgan reallik qurilmalari va boshqalar kabi kengroq qurilmalar bilan ishlash qobiliyatini o‘z ichiga oladi. OpenCL, shuningdek, sun'iy intellekt va mashinani o‘rganish bo‘yicha innovatsion tadqiqot va ishlanmalar uchun platforma sifatida tobora keng tarqalgan.
OpenCL yordamida dasturchilar dasturni C yoki C++ tillarida yozishlari va undan CPU va GPU lar ustida amallar bajarishda foydalanishlari mumkin, bu esa yuqori ishlash va hisoblash samaradorligini ta'minlaydi. OpenCL shuningdek, turli xil GPU larning har bir yadrolaridan alohida foydalanishga imkon beradi, bu esa maksimal kuch bilan ishlashni ta`minlaydi[18].
OpenCL bir nechta asosiy komponentlarga ega, jumladan:
Platforma: bu kompyuter va CPU yoki GPU kabi apparat o‘rtasidagi o‘zaro ta'sirni ta'minlaydigan dasturiy ta'minot.
Qurilmalar: bu OpenCL yordamida hisoblash uchun ishlatilishi mumkin bo‘lgan CPU, GPU yoki FPGA kabi apparat.
Dasturlash tillari: OpenCL C va C++ ni, shuningdek, parallel kod yozishga imkon beruvchi maxsus OpenCL C dasturlash tilini qo‘llab-quvvatlaydi.
Kutubxonalar: OpenCL matematik funktsiyalar kutubxonasi va tasvirlar kutubxonasi kabi standart kutubxonalar to‘plamini taqdim etadi.
API: bu dasturchilarga o‘z ilovalarini OpenCL platformasi bilan bog‘lash imkonini beruvchi dastur dasturlash interfeysi.
OpenCL yordamida yozilgan dasturlardan turli sohalarda foydalanish mumkin grafika, fan, texnik hisoblash va boshqalar.OpenCL ko‘plab GPU va protsessorlardan foydalanishga imkon beradi va bu ilovalarni tezlashtirish va optimallashtirishga yordam beradi.
Umuman olganda, OpenCL turli sohalarda ishlatilishi mumkin bo‘lgan dasturlarni yaratish uchun kuchli dasturlash vositasidir va vaqt o‘tishi bilan rivojlanib, takomillashib boradi.
Boshlash uchun kerakli sarlavha fayllari va kutubxonalarini o‘z ichiga olgan SDK (Software Development Kit) OpenCL-ni o‘rnatishingiz kerak. Buni, masalan, AMD yoki Intel-dan bepul SDK-ni yuklab olish va o‘rnatish orqali amalga oshirish mumkin.
Keyin OpenCL sarlavha fayllari va kutubxonalarini C++tilidagi loyihangizga ulashingiz kerak. Buning uchun sarlavha fayllari va kutubxonalariga yo‘lni ko‘rsatish uchun preprocessor direktivalari va kompilyator variantlaridan foydalanish mumkin.
Shundan so‘ng siz OpenCL kutubxonasidagi funktsiyalar va ma'lumotlar tuzilmalari yordamida GPU kabi OpenCL qurilmasida hisoblash yadrolarini (kuktuda) yaratish va boshqarish uchun C++ tilida kod yozishni boshlashingiz mumkin.
Shu bilan birga, geterogen hisoblash tizimlarida dasturlash, boshqarish va tizimni qo‘llab-quvvatlashning murakkabligi kabi ba'zi kamchiliklar mavjud. Shuning uchun, geterogen hisoblash tizimlarini yaratishdan oldin, strukturani diqqat bilan ko‘rib chiqish, mos qurilmalarni tanlash va ularning o‘zaro ta'sirini aniqlash kerak.

Yüklə 4,21 Mb.

Dostları ilə paylaş:
1   ...   6   7   8   9   10   11   12   13   ...   18




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə