Эцсийн OpenCL 3.0 техникийн үзүүлэлтүүд нийтлэгдсэн

OpenGL, Vulkan болон OpenCL гэр бүлийн техникийн үзүүлэлтүүдийг боловсруулах үүрэгтэй Khronos концерн, зарласан эцсийн техникийн тодорхойлолтыг нийтлэх тухай OpenCL 3.0, олон цөмт CPU, GPU, FPGA, DSP болон бусад тусгай чипүүдийг ашиглан, суперкомпьютер, үүлэн серверт ашигладаг чипээс эхлээд хөдөлгөөнт төхөөрөмж болон бусад төхөөрөмжид байдаг чипүүдийг ашиглан платформ хоорондын зэрэгцээ тооцооллыг зохион байгуулахад зориулсан C хэлний API болон өргөтгөлүүдийг тодорхойлох. суурилуулсан технологи. OpenCL стандарт нь бүрэн нээлттэй бөгөөд лицензийн төлбөр шаарддаггүй.

Нэг зэрэг нийтэлсэн OpenCL SDK-г OpenCL 3.0-тэй нийцтэй программуудыг хөгжүүлэхэд зориулсан хэрэгслүүд, жишээнүүд, баримт бичиг, толгой файлууд, C++ холбоосууд болон C номын сангуудтай нээнэ үү. Мөн танилцуулсан LLVM-ийн үндсэн бүтцэд оруулах засваруудыг шалгах шатандаа байгаа Clang хөрвүүлэгч дээр суурилсан OpenCL 3.0-ийн анхны хэрэгжилт. Стандартын ажилд IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments, Toshiba зэрэг компаниуд оролцсон.

Эцсийн OpenCL 3.0 техникийн үзүүлэлтүүд нийтлэгдсэн

Хамгийн онцлох Онцлог OpenCL 3.0:

  • OpenCL 3.0 API нь одоо OpenCL-ийн бүх хувилбарыг (1.2, 2.x) хамарч байгаа бөгөөд хувилбар тус бүрд тус тусад нь тодорхойлолт өгөхгүй. OpenCL 3.0 нь OpenCL 1.2/2.X-ийн цул шинж чанарыг хаахгүйгээр сонголт хэлбэрээр давхарласан нэмэлт үзүүлэлтүүдийг нэгтгэх замаар үндсэн функцийг өргөтгөх боломжийг олгодог.
  • Зөвхөн OpenCL 1.2-д нийцсэн функцийг заавал хийх ёстой гэж зарласан бөгөөд OpenCL 2.x техникийн үзүүлэлтэд санал болгосон бүх функцийг нэмэлт гэж ангилдаг. Энэ арга нь OpenCL 3.0-д нийцсэн захиалгат хэрэгжилтийг бий болгоход хялбар болгож, OpenCL 3.0-ийг ашиглах төхөөрөмжүүдийн хүрээг өргөжүүлэх болно. Жишээлбэл, үйлдвэрлэгчид OpenCL 3.0-ийн дэмжлэгийг OpenCL 2.x-ийн тусгай функцуудыг хэрэгжүүлэхгүйгээр хэрэгжүүлж болно. Нэмэлт хэлний онцлогт хандахын тулд OpenCL 3.0 нь API элементүүд болон тусгай макроуудын дэмжлэгийг үнэлэх боломжийг олгодог тестийн асуулгын системийг нэмсэн.
  • Өмнө нь гаргасан техникийн үзүүлэлтүүдтэй нэгдсэн нь програмуудыг OpenCL 3.0 руу шилжүүлэхэд хялбар болгодог. OpenCL 1.2 програмууд нь OpenCL 3.0-ийг дэмждэг төхөөрөмжүүд дээр ямар ч өөрчлөлтгүйгээр ажиллах боломжтой болно. OpenCL 2 орчин нь шаардлагатай функцийг хангасан тохиолдолд OpenCL 3.0.x програмууд нь кодын өөрчлөлтийг шаарддаггүй (ирээдүйд зөөвөрлөх чадварыг баталгаажуулахын тулд OpenCL 2.x програмуудад OpenCL 2.x функцүүдийн дэмжлэгийг үнэлэхийн тулд туршилтын асуулга нэмэхийг зөвлөж байна. ашиглаж байна). OpenCL хэрэгжүүлэлттэй драйвер хөгжүүлэгчид бүтээгдэхүүнээ OpenCL 3.0 болгож хялбархан сайжруулж, зөвхөн тодорхой API дуудлагын хүсэлтийн боловсруулалтыг нэмж, үйл ажиллагааг аажмаар нэмэгдүүлэх боломжтой.
  • OpenCL 3.0 тодорхойлолт нь Vulkan API-д мөн ашиглагддаг SPIR-V ерөнхий завсрын дүрслэлийн орчин, өргөтгөлүүд болон техникийн үзүүлэлтүүдтэй нийцдэг. SPIR-V 1.3 техникийн дэмжлэгийг үндсэн OpenCL 3.0-д нэмэлт функц болгон оруулсан болно. Завсрын төлөөлөл ашиглах замаар SPIR-V тооцоолох цөмд зориулж дэд бүлгүүдтэй ажиллахад зориулсан дэмжлэг нэмэгдсэн.
    Эцсийн OpenCL 3.0 техникийн үзүүлэлтүүд нийтлэгдсэн

  • Шууд санах ойн хандалт бүхий DSP шиг чипүүдэд дэмжигдсэн асинхрон DMA үйлдлүүдийг (Асинхрон DMA) гүйцэтгэх өргөтгөлийн дэмжлэгийг нэмсэн. Асинхрон DMA нь тооцоолол эсвэл бусад өгөгдөл дамжуулах үйлдлүүдтэй зэрэгцэн дэлхийн болон дотоод санах ойн хооронд өгөгдөл дамжуулахын тулд DMA гүйлгээг ашиглах боломжийг олгодог.
  • C Parallel Programming Extensions-ийн тодорхойлолтыг шинэчилсэн хувилбар 3.0, мөн C++-д зориулсан OpenCL хэлний өргөтгөлүүдийг хөгжүүлэх ажлыг “OpenCL-д зориулсан C++” төслийн дэмжсэнээр зогсоосон. OpenCL-д зориулсан C++ нь Clang/LLVM дээр суурилсан хөрвүүлэгч юм нэвтрүүлэг C++ болон OpenCL C цөмүүдийг SPIR-V завсрын дүрслэл эсвэл доод түвшний машины код болгон хувиргадаг. Нэвтрүүлгээр дамжуулан SPIR-V нь SYCL загварын номын санг ашиглан C++ програмуудыг угсрах ажлыг зохион байгуулдаг бөгөөд энэ нь зэрэгцээ програмуудыг үүсгэхэд хялбар болгодог.

    Эцсийн OpenCL 3.0 техникийн үзүүлэлтүүд нийтлэгдсэн

  • Vulkan API-ээр дамжуулан OpenCL-ийг цацах хөрвүүлэгчийг санал болгов clspv, нь OpenCL цөмийг Vulkan SPIR-V дүрслэл болон давхарга болгон хувиргадаг clvk Vulkan дээр ажиллахын тулд OpenCL API-г идэвхжүүлэх.

    Эцсийн OpenCL 3.0 техникийн үзүүлэлтүүд нийтлэгдсэн

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх