OpenCL стандартын бие даасан хэрэгжилт бүхий PoCL 3.1 хувилбар

График хурдасгуур үйлдвэрлэгчдээс хамааралгүй OpenCL стандартын хэрэгжилтийг хөгжүүлж, янз бүрийн төрлийн график болон төв хэсэгт OpenCL цөмүүдийг ажиллуулах янз бүрийн арын хэсгийг ашиглах боломжийг олгодог PoCL 3.1 (Portable Computing Language OpenCL) төслийн хувилбарыг танилцууллаа. процессорууд. Төслийн кодыг MIT лицензийн дагуу түгээдэг. X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU платформууд болон VLIW архитектуртай төрөл бүрийн тусгайлсан ASIP (Програмын тусгай зааварчилгааны процессор) болон TTA (Transport Triggered Architecture) процессорууд дээр ажиллахыг дэмждэг.

OpenCL цөм хөрвүүлэгчийн хэрэгжилт нь LLVM дээр суурилагдсан бөгөөд Clang нь OpenCL C-ийн урд хэсэг болгон ашиглагддаг. Зохистой зөөвөрлөх чадвар, гүйцэтгэлийг хангахын тулд OpenCL цөмийн хөрвүүлэгч нь VLIW, суперскаляр, SIMD, SIMT, олон цөмт, олон урсгалт зэрэг кодын гүйцэтгэлийг зэрэгцүүлэхийн тулд янз бүрийн техник хангамжийн нөөцийг ашиглаж болох хослол функцуудыг үүсгэж болно. ICD драйверуудыг (Суулгах боломжтой үйлчлүүлэгч драйвер) дэмждэг. CPU, ASIP (TCE/TTA), HSA архитектурт суурилсан GPU болон NVIDIA GPU (libcuda-аар) -ээр дамжуулан ажиллагааг дэмжих арын хэсэг байдаг.

Шинэ хувилбарт:

  • Clang/LLVM 15.0-ийн дэмжлэгийг нэмсэн.
  • CPU болон CUDA драйверуудад зориулсан SPIR-V шэйдерийн завсрын дүрслэлийг мэдэгдэхүйц сайжруулсан.
  • Онлайн эмхэтгэлийг дэмждэггүй тусгай техник хангамж (CL_DEVICE_TYPE_ACCELERATOR) болон захиалгат төхөөрөмжүүдийн (CL_DEVICE_TYPE_CUSTOM) драйверийг ихээхэн шинэчилсэн. Accel болон ttasim драйверуудыг шинэ AlmaIF драйвер болгон нэгтгэсэн.
  • Vulkan график API-ийн драйвер дээр ажиллах ажил үргэлжилж байна.
  • cl_khr_command_buffer өргөтгөлийн үндсэн хэрэгжилтийг санал болгож байгаа бөгөөд энэ нь танд нэг дуудлагад гүйцэтгэх OpenCL командуудын дарааллыг бичих боломжийг олгодог.

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

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