Bol release projektu PoCL 3.1 (Portable Computing Language OpenCL), ktorý vyvíja realizáciu štandardu OpenCL nezávislého od výrobcov grafických akcelerátorov a umožňuje používanie rôznych backendov na vykonávanie OpenCL jadier na rôznych typoch grafických a centrálnych procesorov. Kód projektu je distribuovaný pod licenciou MIT. Podporovaná práca na platformách X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU a rôznych špecializovaných ASIP (Application-Specific Instruction-set Processor) a TTA procesoroch (Transport Triggered Architecture) s architektúrou VLIW.
Implementácia kompilátora jadier OpenCL je postavená na základe LLVM a ako frontend pre OpenCL C sa používa Clang. Na zabezpečenie primeranej prenosnosti a výkonu môže kompilátor jadier OpenCL generovať kombinované funkcie, ktoré môžu využiť rôzne hardvérové zdroje na paralelizáciu vykonávania kódu, ako sú VLIW, superskalárnosť, SIMD, SIMT, viacjadrosť a viacvláknovosť. Existuje podpora ICD ovládačov (Installable Client Driver). Prítomné sú backendy na zabezpečenie prevádzky cez CPU, ASIP (TCE/TTA), GPU na báze architektúry HSA a GPU NVIDIA (cez libcuda).
V novej verzii:
- Pridaná podpora Clang/LLVM 15.0.
- Výrazne zlepšená podpora medzivrstvy shaderov SPIR-V pre ovládače používajúce CPU a CUDA.
- Výrazne prepracovaný ovládač pre špecializovaný hardvér (CL_DEVICE_TYPE_ACCELERATOR) a vlastné zariadenia (CL_DEVICE_TYPE_CUSTOM), ktoré nepodporujú online kompiláciu. Ovládače accel a ttasim boli zlúčené do nového ovládača AlmaIF.
- Pokračuje práca na ovládači pre grafické API Vulkan.
- Navrhnutá základná implementácia rozšírenia cl_khr_command_buffer, ktoré umožňuje zaznamenať sekvenciu príkazov OpenCL na ich vykonávanie jedným volaním.
Zdroj: opennet.ru
