A fost lansată versiunea proiectului PoCL 3.0 (Portable Computing Language OpenCL), care dezvoltă implementarea standardului OpenCL, independent de producătorii de acceleratoare grafice și permite utilizarea diferitelor backend-uri pentru a rula nucleele OpenCL pe diferite tipuri de procesoare grafice și centrale. Codul proiectului este distribuit sub licența MIT. Suportă funcționarea pe platformele X86_64, MIPS32, ARM v7, AMD HSA APU, GPU NVIDIA și diverse procesoare ASIP (Application-Specific Instruction-set Processor) și TTA (Transport Triggered Architecture) cu arhitectură VLIW.
Implementarea compilatorului kernel-urilor OpenCL este construită pe baza LLVM, iar Clang este utilizat ca frontend pentru OpenCL C. Pentru a asigura portabilitatea și performanța adecvată, compilatorul kernel-urilor OpenCL poate genera funcții combinate care pot utiliza diferite resurse hardware pentru a paraleliza execuția codului, cum ar fi VLIW, superscalare, SIMD, SIMT, multicore și multithreading. Există suport pentru drivere ICD (Installable Client Driver). Există backend-uri pentru a asigura funcționarea prin CPU, ASIP (TCE/TTA), GPU bazate pe arhitectura HSA și GPU NVIDIA (prin libcuda).
În noua versiune:
- A fost implementat un set minim de funcționalități necesare pentru a susține specificația OpenCL 3.0. Suportul pentru OpenCL 3.0 este disponibil deocamdată doar în backend-ul bazat pe CPU cu LLVM 14 (în celelalte backend-uri și cu versiunile mai vechi de LLVM este suportat OpenCL 1.2).
- A fost adăugat suport pentru Clang/LLVM 14.
- A fost îmbunătățită trasarea și vizualizarea.
- A fost adăugat suport pentru generarea grupurilor de funcții specializate și includerea acestora în fișierele executabile cu nucleele OpenCL.
Sursa: opennet.ro
