Paglabas ng PoCL 3.0 na may independiyenteng pagpapatupad ng pamantayang OpenCL 3.0

Ang isang release ng PoCL 3.0 (Portable Computing Language OpenCL) na proyekto ay ipinakita, na bubuo ng pagpapatupad ng OpenCL standard na independiyente sa mga tagagawa ng graphics accelerator at nagbibigay-daan sa paggamit ng iba't ibang mga backend para sa pagpapatupad ng OpenCL kernels sa iba't ibang uri ng graphics at central mga processor. Ang code ng proyekto ay ipinamahagi sa ilalim ng lisensya ng MIT. Sinusuportahan ang trabaho sa mga platform na X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU at iba't ibang espesyal na ASIP (Application-Specific Instruction-set Processor) at TTA (Transport Triggered Architecture) na mga processor na may VLIW architecture.

Ang pagpapatupad ng OpenCL kernel compiler ay binuo batay sa LLVM, at ang Clang ay ginagamit bilang front end para sa OpenCL C. Upang matiyak ang wastong portability at performance, ang OpenCL kernel compiler ay makakabuo ng mga kumbinasyong function na maaaring gumamit ng iba't ibang mapagkukunan ng hardware upang iparallelize ang pagpapatupad ng code, tulad ng VLIW, superscalar, SIMD, SIMT, multi-core at multi-threading. Mayroong suporta para sa mga driver ng ICD (Installable Client Driver). May mga backend upang suportahan ang operasyon sa pamamagitan ng CPU, ASIP (TCE/TTA), GPU batay sa arkitektura ng HSA at NVIDIA GPU (sa pamamagitan ng libcuda).

Sa bagong bersyon:

  • Ang pinakamababang hanay ng mga tampok na kinakailangan upang suportahan ang detalye ng OpenCL 3.0 ay ipinatupad. Ang suporta sa OpenCL 3.0 ay kasalukuyang available lamang sa mga backend na nakabatay sa CPU na may LLVM 14 (ang iba pang mga backend at mas lumang bersyon ng LLVM ay nagbibigay ng suporta para sa OpenCL 1.2).
  • Nagdagdag ng suporta para sa Clang/LLVM 14.
  • Pinahusay na pagsubaybay at visualization.
  • Nagdagdag ng suporta para sa pagbuo ng mga dalubhasang grupo ng mga function at isama ang mga ito sa mga executable na file na may mga OpenCL kernel.

Pinagmulan: opennet.ru

Magdagdag ng komento