Ăshte publikuar versioni i projektit PoCL 5.0 (Portable Computing Language OpenCL), i cili zhvillon implementimin e standardit OpenCL, tĂ« pavarur nga prodhuesit e aceleratorĂ«ve grafikĂ« dhe lejon pĂ«rdorimin e backend-eve tĂ« ndryshme pĂ«r ekzekutimin e kernel-eve OpenCL nĂ« tipe tĂ« ndryshme procesorĂ«sh grafikĂ« dhe centralĂ«. Kodi i projektit Ă«shtĂ« nĂ« dispozitĂ« nĂ«n licencĂ«n MIT. MbĂ«shtetet funksionimi nĂ« platformat X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU dhe nĂ« procesorĂ«t ASIP (Application-Specific Instruction-set Processor) dhe TTA (Transport Triggered Architecture) me arkitekturĂ«n 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:
- Një backend i ri "Remote" është realizuar, i destinuar për organizimin e llogaritjeve të distribuuara duke e transferuar përpunimin e komandave OpenCL në hoste të tjerë në rrjet, ku procesi i prapambetur pocld është i aktivizuar.
- Në drejtorinë CUDA janë realizuar mundësi të reja dhe zgjerime për OpenCL 3.0, si operacione atomike, variabla me fushë të kufizuar, nëngrupe intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier dhe sub_group_ballot.
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja e CPU-ve bazuar nĂ« arkitekturĂ«n RISC-V. Funksionimi i PoCL Ă«shtĂ« testuar nĂ« pllakĂ«n Starfive VisionFive 2 me ambientin e ngarkuar Ubuntu 23.10 me LLVM 17 dhe GCC 13.2.
- ĂshtĂ« realizuar zgjerimi cl_ext_float_atomics me mbĂ«shtetje pĂ«r FP32 dhe FP64.
- Realizimi i zgjerimit cl_khr_command_buffer është përditësuar në versionin 0.9.4.
- ĂshtĂ« propozuar njĂ« backend eksperimental AlmaIF pĂ«r FPGA.
- ĂshtĂ« hequr mbĂ«shtetja e papĂ«rfunduar e pĂ«rfaqĂ«simit tĂ« ndĂ«rmjetĂ«m tĂ« shaderave SPIR 1.x/2.0. Si gjuhĂ« e rekomanduar ndĂ«rmjetĂ«se pĂ«r shaderat Ă«shtĂ« shpallur SPIR-V.
- ĂshtĂ« shtuar mbĂ«shtetja pĂ«r Clang/LLVM 17.0. ĂshtĂ« shpallur si e pĂ«rjetshme mbĂ«shtetja pĂ«r Clang/LLVM 10-13.
Burimi: opennet.ru
