Është publikuar publikimi i projektit PoCL 5.0 (Portable Computing Language OpenCL), duke zhvilluar një zbatim të standardit OpenCL që është i pavarur nga prodhuesit e përshpejtuesve grafikë dhe lejon përdorimin e backend-eve të ndryshme për ekzekutimin e kerneleve OpenCL në lloje të ndryshme grafike dhe procesorë qendrorë . Kodi i projektit shpërndahet nën licencën MIT. Mbështet punën në platformat X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU dhe procesorë të ndryshëm të specializuar ASIP (Application-Specific Instruction-set Processor) dhe TTA (Transport Triggered Architecture) me arkitekturë VLIW.
Zbatimi i përpiluesit të kernelit OpenCL është ndërtuar në bazë të LLVM, dhe Clang përdoret si pjesa e përparme për OpenCL C. Për të siguruar transportueshmëri dhe performancë të duhur, përpiluesi i kernelit OpenCL mund të gjenerojë funksione kombinimi që mund të përdorin burime të ndryshme harduerike për të paralelizuar ekzekutimin e kodit, si VLIW, superscalar, SIMD, SIMT, multi-core dhe multi-threading. Ekziston mbështetje për drejtuesit e ICD (Shofer Klienti i Instalueshëm). Ka mbështetëse për të mbështetur funksionimin përmes CPU, ASIP (TCE/TTA), GPU bazuar në arkitekturën HSA dhe GPU NVIDIA (përmes libcuda).
Në versionin e ri:
- Është implementuar një backend i ri "Remote", i projektuar për të organizuar informatikën e shpërndarë duke transferuar përpunimin e komandave OpenCL te hostët e tjerë në rrjet që ekzekutojnë procesin në sfond pocld.
- Drajveri CUDA zbaton veçori dhe zgjerime shtesë të OpenCL 3.0, të tilla si operacionet atomike, variablat e fushëveprimit, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier dhe sub_group_ballot.
- Mbështetje e përmirësuar për CPU-të e bazuara në RISC-V. PoCL është testuar në një pllakë Starfive VisionFive 2 me sistemin operativ të ngarkuar. Ubuntu 23.10 me LLVM 17 dhe GCC 13.2.
- Zgjerimi cl_ext_float_atomics është implementuar me mbështetjen e FP32 dhe FP64.
- Implementimi i zgjerimit cl_khr_command_buffer është përditësuar në versionin 0.9.4.
- Propozohet një backend eksperimental AlmaIF për FPGA.
- Mbështetja e papërfunduar për përfaqësimin e shader-ave të ndërmjetëm SPIR 1.x/2.0 është hequr. SPIR-V është shpallur si gjuha e rekomanduar e shader-ave të ndërmjetëm.
- Shtuar mbështetje për Clang/LLVM 17.0. Mbështetje e vjetëruar për Clang/LLVM 10-13.
Burimi: opennet.ru
