Avaldas PoCL 5.0 (Portable Computing Language OpenCL) projekti vĂ€ljaande, mis arendab OpenCL standardi rakendust, mis ei sĂ”ltu graafikakiirusest ja vĂ”imaldab kasutada erinevaid tagapĂ”hju OpenCL-kerede töötlemiseks erinevatel tĂŒĂŒpi graafika- ja keskprotsessoritel. Projekti kood jagatakse MIT litsentsi alusel. Toetatakse töötab platvormidel X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU ja erinevates spetsialiseeritud ASIP (rakendusepĂ”hine kĂ€skluskomplekti protsessor) ja TTA-protsessorites (Transport Triggered Architecture) koos VLIW arhitektuuriga.
OpenCL kerede kompilaatori rakendamine pĂ”hineb LLVM-l ja OpenCL C jaoks kasutatakse front-end'ina Clang'i. Adekaatse ĂŒlekantavuse ja jĂ”udluse tagamiseks suuteline OpenCL kerede kompilaator genereerima kombineeritud funktsioone, mis vĂ”ivad kasutada erinevaid riistvaralisi ressursse koodi tĂ€itmise paralleelseks jagamiseks, nagu VLIW, superkiirus, SIMD, SIMT, mitmetuumalisus ja mitme lĂ”ime töötlemine. Toetatakse ICD-draivereid (Installable Client Driver). Olemas on tagapĂ”hjused, mis vĂ”imaldavad töötada lĂ€bi CPU, ASIP (TCE/TTA), HSA arhitektuuriga GPU ja NVIDIA GPU (libcuda kaudu).
Uues versioonis:
- Tehtud on uus «Remote» tagapÔhi, mis on mÔeldud jaotatud arvutuste korraldamiseks, edastades OpenCL kÀsud teistele hostidele, kus töötab taustaprotsess pocld.
- CUDA draiveris on rakendatud tÀiendavad funktsioonid ja OpenCL 3.0 laiendused, nagu aatomaarutused, piiratud ulatusega muutujad, alamgrupid intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier ja sub_group_ballot.
- Parandatud on CPU toetus RISC-V arhitektuuril. PoCL-i töö on testitud Starfive VisionFive 2 plaadil, kus töötab Ubuntu 23.10 keskkonna all koos LLVM 17 ja GCC 13.2-ga.
- Rakendatud on laiendus cl_ext_float_atomics, mis toetab FP32 ja FP64.
- Laienduse cl_khr_command_buffer rakendamine on uuendatud versioonile 0.9.4.
- Pakutud on eksperimentaalne AlmaIF tagapÔhi FPGA jaoks.
- Eemaldatud on lÔpetamata toetus varjude vahepealsele esitlusele SPIR 1.x/2.0. Soovitatud vahepealne keeleline keel on SPIR-V.
- Lisatud on toetus Clang/LLVM 17.0. Clang/LLVM 10-13 toetus kuulutati vÀlja aegunud.
Allikas: opennet.ru
