U publikua versioni i projektit PoCL 3.0 (Portable Computing Language OpenCL), që zhvillon implementimin e standardit OpenCL, të pavarur nga prodhuesit e akseleratorëve grafikë dhe lejon përdorimin e backend-eve të ndryshme për ekzekutimin e bërthameve OpenCL në lloje të ndryshme procesorësh grafikë dhe qendrorë. Kodi i projektit shpërndahet nën licencën MIT. Mbështetet puna në platformat X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU dhe në procesorët e specializuar ASIP (Application-Specific Instruction-set Processor) dhe TTA (Transport Triggered Architecture) me arkitekturë VLIW.
Implementimi i kompilatorit të kernel-eve OpenCL është i bazuar në LLVM, ndërsa si frontend për OpenCL C përdoret Clang. Për të siguruar portabilitet dhe performancë të duhur, kompilatori i kernel-eve OpenCL mund të gjenerojë funksione të kombinuara, të cilat mund të përdorin burime të ndryshme hardware për të bërë paralelizimin e ekzekutimit të kodit, si VLIW, supercalaritetin, SIMD, SIMT, shumëcore dhe multi-threading. Mbështeten drejtuesit ICD (Installable Client Driver). Janë gjithashtu të pranishëm back-end për të siguruar funksionimin përmes CPU, ASIP (TCE/TTA), GPU-të e bazuara në arkitekturën HSA dhe GPU-të NVIDIA (përmes libcuda).
Në këtë version të ri:
- U implementua një grup minimal funksionalitetesh të nevojshme për mbështetje të specifikacionit OpenCL 3.0. Mbështetje për OpenCL 3.0 aktualisht është e disponueshme vetëm në backend-in e bazuar në CPU në prani të LLVM 14 (në backend-e të tjera dhe me versione më të vjetra të LLVM, ofrohet mbështetje për OpenCL 1.2).
- U shtua mbështetje për Clang/LLVM 14.
- U përmirësua gjurmimi dhe vizualizimi.
- U shtua mbështetje për gjenerimin e grupeve të specializuara të funksioneve dhe përfshirjen e tyre në skedarët ekzekutues me bërthama OpenCL.
Burimi: opennet.ru
