Predstavljeno je izdanje PoCL 3.0 (Portable Computing Language OpenCL) projekta, koji razvija implementaciju OpenCL standarda koja je nezavisna od proizvođača grafičkih akceleratora i omogućava korištenje različitih pozadinskih programa za izvršavanje OpenCL kernela na različitim tipovima grafike i centralnog procesori. Šifra projekta se distribuira pod MIT licencom. Podržava rad na platformama X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU i raznim specijalizovanim ASIP (Application-Specific Instruction-set Processor) i TTA (Transport Triggered Architecture) procesorima sa VLIW arhitekturom.
Implementacija kompajlera OpenCL kernela izgrađena je na bazi LLVM-a, a Clang se koristi kao prednji kraj za OpenCL C. Da bi osigurao odgovarajuću prenosivost i performanse, kompajler jezgre OpenCL može generirati funkcije kombinacije koje mogu koristiti različite hardverske resurse za paraleliziranje izvršavanja koda, kao što su VLIW, superskalar, SIMD, SIMT, višejezgarni i multi-threading. Postoji podrška za ICD drajvere (Installable Client Driver). Postoje backendovi koji podržavaju rad preko CPU-a, ASIP-a (TCE/TTA), GPU-a zasnovanog na HSA arhitekturi i NVIDIA GPU-a (preko libcuda).
U novoj verziji:
- Minimalni skup funkcija potrebnih za podršku OpenCL 3.0 specifikacije je implementiran. Podrška za OpenCL 3.0 je trenutno dostupna samo na pozadinskim uređajima baziranim na CPU-u sa LLVM 14 (druga pozadina i starije verzije LLVM-a pružaju podršku za OpenCL 1.2).
- Dodata podrška za Clang/LLVM 14.
- Poboljšano praćenje i vizualizacija.
- Dodata podrška za generisanje specijalizovanih grupa funkcija i njihovo uključivanje u izvršne datoteke sa OpenCL kernelima.
izvor: opennet.ru