PoCL 5.0 väljaanne, mis sisaldab sõltumatut OpenCL standardi teostust

Avaldatud on projekt PoCL 5.0 (Portable Computing Language OpenCL) versioon, mis arendab OpenCLi standardi rakendust, mis on tootjate graafikakiirenditest sõltumatu ning võimaldab kasutada erinevaid taustaprogramme OpenCL-i südamike täitmiseks erinevat tüüpi graafika- ja keskprotsessorites. Projekti kood on jagatud MIT litsentsi all. Toetatakse tööd X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU ja erinevates spetsialiseeritud ASIP (rakendusele spetsiifiline käsu komplekti protsessor) ja TTA-protsessorites (Transport Triggered Architecture), mis töötavad VLIW arhitektuuril.

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:

  • Rakendatud on uus „Remote” taustaprogramm, mis on mõeldud jaotatud arvutuste korraldamiseks, edastades OpenCL-i käskluste töötlemise teistele hostidele võrgus, kus töötab taustaprotsess pocld.
  • CUDA draiveris on rakendatud täiendavaid võimekusi ja OpenCL 3.0 laiendusi, nagu aatomilised operatsioonid, piiratud ulatusega muutujad, alagruppide intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier ja sub_group_ballot.
  • Parandatud on CPU toe toimet RISC-V arhitektuuri põhjal. PoCL-i töö on testitud Starfive VisionFive 2 plaatidega koos Ubuntu 23.10 keskkonnaga, millel on LLVM 17 ja GCC 13.2.
  • Laiendatud cl_ext_float_atomics toetusega FP32 ja FP64.
  • cl_khr_command_buffer laiendus on uuendatud versioonini 0.9.4.
  • Eksperimenteeritud AlmaIF tagaplaneering FPGA jaoks.
  • Eemaldatud lõpetamata tugi shaderite SPIR 1.x/2.0 vaheversioonile. Soovitatavaks shaderite vahekeeleks on kuulutatud SPIR-V.
  • Toetatd Clang/LLVM 17.0. Clang/LLVM versioonid 10-13 on kuulutatud vananenuks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster