ĂshtĂ« publikuar versioni i projektit PoCL 6.0 (Portable Computing Language OpenCL), qĂ« zhvillon njĂ« implementim tĂ« standardit OpenCL, tĂ« pavarur nga prodhuesit e acceleratoreve grafikĂ« dhe qĂ« lejon pĂ«rdorimin e backend-eve tĂ« ndryshme pĂ«r ekzekutimin e kernave OpenCL nĂ« lloje tĂ« ndryshme procesorĂ«sh grafikĂ« dhe qendrorĂ«. Kodi i projektit shpĂ«rndahet nĂ«n licencĂ«n MIT. PĂ«rdoret nĂ« platformat X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU dhe nĂ« ASIP (Processor me Set Instruksionesh tĂ« PĂ«rcaktuara nga Aplikacioni) dhe procesorĂ«t TTA (Arkitektura e Aktivizuar nga Transporti) me arkitekturĂ« VLIW.
Implementimi i kompilatorit të bërthamave OpenCL bazohet në LLVM, ndërsa si frontend për OpenCL C përdoret Clang. Për të siguruar transportueshmëri dhe performancë të duhur, kompilatori i bërthamave OpenCL mund të gjenerojë funksione të kombinuara, të cilat mund të përdorin burime të ndryshme harduerike për të paralelizuar ekzekutimin e kodit, si VLIW, supercalar, SIMD, SIMT, shumë-në-bërthamë dhe shumë-threading. Ka mbështetje për shoferët ICD.
(Installable Client Driver). Janë të pranishëm backend-e për të siguruar funksionimin përmes CPU, ASIP (TCE/TTA), GPU të bazuara mbi arkitekturën HSA dhe GPU NVIDIA (përmes libcuda).
NĂ« versionin e ri:
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r Clang/LLVM 18.0, ndĂ«rsa mbĂ«shtetje pĂ«r LLVM 10, 11, 12 dhe 13 Ă«shtĂ« ndalur.
- ĂshtĂ« realizuar njĂ« backend i ri cpu-tbb, i cili pĂ«rdor bibliotekĂ«n OneTBB tĂ« zhvilluar nga Intel pĂ«r ndarjen e operacioneve dhe planifikimin e ekzekutimit tĂ« detyrave.
- Në backend-in cpu, që siguron ekzekutimin e kernave OpenCL në CPU, është shtuar mbështetje për standartin e programimit paralel OpenMP, është shtuar metoda clGetDeviceAndHostTimer(), si dhe janë realizuar zgjerime eksperimentale cl_pocl_svm_rect, cl_pocl_command_buffer_svm dhe cl_pocl_command_buffer_host_buffer.
- Në backend-in «Remote», që është i destinuar për organizimin e llogaritjeve të shpërndara përmes transferimit të përpunimit të komandave OpenCL në hoste të tjerë në rrjet ku ekzekutohet procesi në sfond pocld, është shtuar mbështetje për CG SVM (Coarse-Grain Shared Virtual Memory), mundësia e aksesit në backend duke përdorur protokollin e komunikimit Vsock dhe mbështetje për kompaktimin dhe lidhjen e programeve përmes funksioneve clCompileProgram() dhe clLinkProgram().
- Në backend-in LevelZero, që përdor API Level Zero, është lejuar krijimi i bufferave më të mëdhenj se 4GB dhe janë realizuar optimizime të proceseve të sinkronizimit.
- Në backend-in CUDA janë realizuar operacione sub_group_shuffle dhe sub_group_shuffle_xor, si dhe është rritur kufiri CL_DEVICE_MAX_MEM_ALLOC_SIZE.
Burimi: opennet.ru
