On avaldatud PoCL 6.0 (Portable Computing Language OpenCL) projekti vÀljaanne, mis arendab OpenCL standardi, sÔltumatu graafikakiirendajatest, elluviimist ja vÔimaldab erinevate tagapÔhjade kasutamist OpenCL tuumade kÀitamiseks erinevatel graafika- ja keskprotsessoritel. Projekti kood on jaotatud MIT litsentsi alusel. Toetatakse toimimist X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU ja erinevates spetsialiseeritud ASIP (rakendusele spetsiifiline kÀskude kogum) ja TTA-protsessoritel (Transport Triggered Architecture) VLIW arhitektuuriga.
OpenCL tuumade kompilaatori rakendamine pĂ”hineb LLVM-il, samas kui OpenCL C jaoks kasutatakse eesotsana Clang'i. Kompilaator vĂ”ib genereerida kombineeritud funktsioone, mis suudavad kasutada erinevaid riistvararessursse koodi paralleelse tĂ€itmise jaoks, nĂ€iteks VLIW, super-skalaarsus, SIMD, SIMT, mitmekesiste ja mitme kiirusreĆŸiimine. Toetatakse ICD draivereid.
(Installable Client Driver). TagapÔhjad on olemas, et toetada toimimist lÀbi CPU, ASIP (TCE/TTA), HSA arhitektuuril pÔhineva GPU ja NVIDIA GPU (libcuda kaudu).
Uues versioonis:
- Lisatud tugi Clang/LLVM 18.0 jaoks, toetus LLVM 10, 11, 12 ja 13 lÔpetatud.
- Elluviidud uus cpu-tbb tagapĂ”hi, mis kasutab operatsioonide paralleelseks kĂ€itamiseks ja ĂŒlesannete ajastamiseks Intel'i OneTBB teeki.
- CPU tagapÔhjas, mis toetab OpenCL tuumade kÀivitamist CPU-l, on lisatud paralelleerimise programmeerimise standard OpenMP, lisatud meetod clGetDeviceAndHostTimer(), samuti on ellu viidud katseklaasi laiendused cl_pocl_svm_rect, cl_pocl_command_buffer_svm ja cl_pocl_command_buffer_host_buffer.
- âRemoteâ tagapĂ”hja, mis on mĂ”eldud jaotatud arvutuste korraldamiseks, kus OpenCL kĂ€skude töötlemine on viidud teistesse vĂ”rkudesse, millel töötab taustprotsess pocld, on lisatud tugi CG SVM (Coarse-Grain Shared Virtual Memory), vĂ”imalus kasutada Vsock kommunikatsiooniprotokolli ja toetada programmide kompileerimist ja sidumist clCompileProgram() ja clLinkProgram() funktsioonide kaudu.
- LevelZero tagapĂ”hjas, kasutades Level Zero API-d, on lubatud luua ĂŒle 4GB suurusi puute ja teostatud sĂŒnkroniseerimise protsesside optimeerimised.
- CUDA tagapÔhjas on ellu viidud operatsioonid sub_group_shuffle ja sub_group_shuffle_xor, samuti on suurendatud CL_DEVICE_MAX_MEM_ALLOC_SIZE piiri.
Allikas: opennet.ru
