Bol release projektu PoCL 3.0 (Portable Computing Language OpenCL), ktorý vyvíja implementáciu štandardu OpenCL nezávislú od výrobcov grafických akcelerátorov a umožňuje používať rôzne backendy na vykonávanie OpenCL jadier na rôznych typoch grafických a centrálnych procesorov. Kód projektu je distribuovaný pod licenciou MIT. Podporovaná je 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:
- Bol realizovaný minimálny súbor funkcií požadovaných na podporu špecifikácie OpenCL 3.0. Podpora OpenCL 3.0 je zatiaľ dostupná iba v backendu založenom na CPU pri prítomnosti LLVM 14 (v iných backendoch a pri prítomnosti starších verzií LLVM je poskytovaná podpora OpenCL 1.2).
- Pridaná podpora Clang/LLVM 14.
- Zlepšené trasovanie a vizualizácia.
- Pridaná podpora generovania špecializovaných skupín funkcií a ich zahrnutia do spustiteľných súborov s jadrami OpenCL.
Zdroj: opennet.ru
