Esitatud on PoCL 3.0 (Portable Computing Language OpenCL) projekti vĂ€ljaanne, mis arendab OpenCL-i standardi rakendust, mis on sĂ”ltumatu graafika kiirendite tootjatest ja vĂ”imaldab kasutada erinevaid tagaplaneeringuid OpenCL-i tuumade kĂ€itamiseks erinevates tĂŒĂŒpi graafika- ja keskprotsessoritel. Projekti kood on avaldatud MIT litsentsi alusel. Toetatakse töötamist platvormidel X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU ja erinevatel spetsialiseeritud ASIP (rakendusele spetsiifiline instruktsioonide kogumiprotessor) ja TTA-protsessoritel (Transport Triggered Architecture), mille arhitektuur on VLIW.
OpenCL tuumade kompilaatori rakendus pĂ”hineb LLVM-il ja OpenCL C jaoks on front-endiks Clang. Sobiva ĂŒlekandmise ja jĂ”udluse tagamiseks vĂ”ib OpenCL tuumade kompilaator genereerida kombineeritud funktsioone, mis saavad kasutada erinevaid riistvaralisi ressursse koodi paralleelse tĂ€itmise jaoks, nagu VLIW, super-skalaarne, SIMD, SIMT, mitme tuuma ja mitme niidi tugi. Toetatakse ICD-draivereid (Installable Client Driver). On olemas tagaplaneeringud töö tagamiseks CPU, ASIP (TCE/TTA), HSA arhitektuuril pĂ”hineva GPU ja NVIDIA GPU (libcuda kaudu).
Uues versioonis:
- Teostatud on minimaalne funktsionaalsus, mis on vajalik OpenCL 3.0 spetsiifikatsiooni toetamiseks. OpenCL 3.0 tugi on hetkel saadaval ainult CPU-pÔhises tagaplaanis, millel on LLVM 14 (teistes tagaplaanides ja vanemate LLVM versioonide puhul pakutakse OpenCL 1.2 tuge).
- Lisatud Clang/LLVM 14 tugi.
- Parandatud jÀlgimist ja visualiseerimist.
- Lisatud spetsialiseeritud funktsioonigruppide genereerimise ja nende kaasamise tugi OpenCL tuumadega tÀideviimisse.
Allikas: opennet.ru
