PoCL 1.6, OpenCL standartining mustaqil qo'llanilishi

Ning ishga tushirilishi loyihaning yangi versiyasi PoCL 1.6 (Portativ hisoblash tili OpenCL), 1.6 versiyasining eng muhim voqealari - Clang / LLVM 11.0-ni qo'llab-quvvatlash, shuningdek CUDA-ning ishlashi va funktsiyalarini yaxshilash, PowerPC bilan mosligini yaxshilash va OpenCL-ni tuzatishni yaxshilashni yaxshilash.

PoCL bilan tanish bo'lmaganlar uchun nima ekanligini bilishingiz kerak portativ ochiq manbali dastur (MIT tomonidan litsenziyalangan) OpenCL standarti (1.2 ba'zi 2.0 funktsiyalar bilan qo'llab-quvvatlanadi). Ko'p qurilmali ochiq manba kodli OpenCL dasturi bilan bir qatorda (chindan ham heterojen) osongina ko'chma, ushbu loyihaning asosiy maqsadi - OpenCL-ga mos qurilmalarning xilma-xilligini o'zaro muvofiqligini bitta markazlashtirilgan orkestr qilingan platformaga birlashtirish orqali yaxshilash.

Bundan tashqari, uzoq muddatli asosiy maqsadlardan biri bu ish vaqti va kompilyatsiya usullaridan foydalanadigan qurilmalar turlari bo'yicha OpenCL dasturlarining ishlash portativligini yaxshilashdir.

OpenCL yadrosi kompilyatori LLVM-ga asoslangan va Clang OpenCL C interfeysi sifatida ishlatiladi. To'g'ri ko'chirish va ishlashni ta'minlash uchun OpenCL yadrosi kompilyatori VLIW, superscalar kabi kodlarning bajarilishini parallellashtirish uchun har xil apparat resurslaridan foydalanishi mumkin bo'lgan birlashtirilgan funktsiyalarni ishlab chiqishi mumkin. , SIMD, SIMT, ko'p yadroli va ko'p tishli. ICD (Installable Client Driver) drayverlarini qo'llab-quvvatlash mavjud. CPU, ASIP (TCE / TTA), HSA arxitekturasiga asoslangan GPU va NVIDIA GPU (CUDA) orqali ishlashni ta'minlash uchun orqa tomonlar mavjud.

PoCL 1.6-ning asosiy yangi xususiyatlari

PoCL 1.6-ning ushbu yangi versiyasi ushbu dasturni kompilyatsiya vaqtida yoqilgan qurilma drayverlari bilan kompilyatsiya qilish qobiliyatini ta'kidlaydi, shuningdek qurilmaning mavjudligi ishga tushirilganda tekshiriladi (ilgari PoCL qurilgan va ishlaydigan tizimlar ular bo'lishi kerak edi) bir xil tekshirgichni qo'llab-quvvatlash). Linux-x86_64 va Linux-ppc64le tizimlari uchun CUDA ko'magi bilan PoCL ikkilik paketlarini tarqatish uchun conda paket menejeridan foydalanish qobiliyatini amalga oshirdi.

Shunisi e'tiborga loyiqki, LLVM 11-ni qo'llab-quvvatlash, shuningdek, protsessor tekshirgichidan foydalanishda OpenCL kodini disk raskadrovka qilish uchun kengaytirilgan imkoniyatlar.

Bundan tashqari, CUDA backend-ning ishlashini optimallashtirish amalga oshirilganligini ta'kidlash kerak, bu mahalliy xotiradan (FFT, GEMM) foydalanish bilan bog'liq operatsiyalarni sezilarli darajada soddalashtirishga imkon berdi.

SHOC mezonlarini ishlatadigan ko'rsatkichlar (hozirda doimiy ravishda sinovdan o'tkazilib kelinmoqda) ushbu optimallashtirish, ayniqsa, FFT va GEMM kabi mahalliy xotirani o'z ichiga olgan ko'rsatkichlar uchun yuqoriroq ma'lumotlarga qaraganda ancha yaxshi ishlashga olib kelganligini ko'rsatmoqda. haydovchi). Qolgan muammoli joylarning kelib chiqish sabablarini aniqlash va yo'q qilish uchun biz o'z hissamizni ma'qullaymiz. Shuningdek, biz OpenCL 1.2 / 3.0 standartlari uchun xususiyatlar qamrovini yaxshilashga qo'shgan hissamizni mamnuniyat bilan qabul qilamiz.

  • Ko'p testlarda PoCL ko'rsatkichlari endi NVIDIA-ning OpenCL haydovchisiga yaqin.
  • Kompilyator parametrlarini ishlashni pasayishi evaziga yanada xavfsiz libpocl.so-ni yaratishni ta'minlash uchun HARDENING_ENABLE kompilyatsiya parametri qo'shildi.
  • PowerPC 8/9 tizimlari uchun qaytarilgan qo'llab-quvvatlash, buning uchun pthread va CUDA qurilmalarini ishlatishda OpenCL dasturini amalga oshirish darajasi x86_64 tizimidagi CUDA darajasiga to'g'ri keladi.
  • __ mahalliy bloklardan foydalanadigan CUDA yadrolari uchun ABI o'zgartirildi. Yangilanishdan so'ng foydalanuvchilar pocl keshini tozalashlari kerak.
  • Qaysi kutubxonalarni bog'lash kerakligini aniqlash uchun STATIC_LLVM va llvm-config o'rniga, SINGLE_LLVM_LIB variantini qo'llab-quvvatlash o'chirildi.

Va nihoyat, ushbu yangi versiya haqida ko'proq bilmoqchi bo'lsangiz, tafsilotlarni tekshirishingiz mumkin asl reklamada. 

Ushbu dastur haqida ko'proq bilishni istaganlar uchun ular maslahatlashishlari mumkin rasmiy veb-sayti bu erda siz hujjatlarni topishingiz va fayllarni yuklab olishingiz mumkin.

Loyiha kodi MIT litsenziyasi asosida tarqatiladi va ish X86_64, MIPS32, ARM v7, AMD HSA APU platformalarida va VLIW arxitekturasiga ega bo'lgan turli ixtisoslashtirilgan TTA protsessorlarida qo'llab-quvvatlanadi.


Maqolaning mazmuni bizning printsiplarimizga rioya qiladi muharrirlik etikasi. Xato haqida xabar berish uchun bosing bu erda.

Birinchi bo'lib izohlang

Fikringizni qoldiring

Sizning email manzilingiz chop qilinmaydi.

*

*

  1. Ma'lumotlar uchun javobgardir: Migel Anxel Gaton
  2. Ma'lumotlarning maqsadi: SPAMni boshqarish, izohlarni boshqarish.
  3. Qonuniylashtirish: Sizning roziligingiz
  4. Ma'lumotlar haqida ma'lumot: qonuniy majburiyatlar bundan mustasno, ma'lumotlar uchinchi shaxslarga etkazilmaydi.
  5. Ma'lumotlarni saqlash: Occentus Networks (EU) tomonidan joylashtirilgan ma'lumotlar bazasi
  6. Huquqlar: istalgan vaqtda siz ma'lumotlaringizni cheklashingiz, tiklashingiz va o'chirishingiz mumkin.