Lëshimi PoCL 5.0 me implementimin e pavarur të standardit OpenCL

Ështe publikuar versioni i projektit PoCL 5.0 (Portable Computing Language OpenCL), i cili zhvillon implementimin e standardit OpenCL, të pavarur nga prodhuesit e aceleratorëve grafikë dhe lejon përdorimin e backend-eve të ndryshme për ekzekutimin e kernel-eve OpenCL në tipe të ndryshme procesorësh grafikë dhe centralë. Kodi i projektit është në dispozitë nën licencën MIT. Mbështetet funksionimi në platformat X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU dhe në procesorët ASIP (Application-Specific Instruction-set Processor) dhe TTA (Transport Triggered Architecture) me arkitekturën VLIW.

Implementimi i kompilatorit të kernel-eve OpenCL është i bazuar në LLVM, ndërsa si frontend për OpenCL C përdoret Clang. Për të siguruar portabilitet dhe performancë të duhur, kompilatori i kernel-eve OpenCL mund të gjenerojë funksione të kombinuara, të cilat mund të përdorin burime të ndryshme hardware për të bërë paralelizimin e ekzekutimit të kodit, si VLIW, supercalaritetin, SIMD, SIMT, shumëcore dhe multi-threading. Mbështeten drejtuesit ICD (Installable Client Driver). Janë gjithashtu të pranishëm back-end për të siguruar funksionimin përmes CPU, ASIP (TCE/TTA), GPU-të e bazuara në arkitekturën HSA dhe GPU-të NVIDIA (përmes libcuda).

Në këtë version të ri:

  • Një backend i ri "Remote" është realizuar, i destinuar për organizimin e llogaritjeve të distribuuara duke e transferuar përpunimin e komandave OpenCL në hoste të tjerë në rrjet, ku procesi i prapambetur pocld është i aktivizuar.
  • Në drejtorinë CUDA janë realizuar mundësi të reja dhe zgjerime për OpenCL 3.0, si operacione atomike, variabla me fushë të kufizuar, nëngrupe intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier dhe sub_group_ballot.
  • Është përmirësuar mbështetja e CPU-ve bazuar në arkitekturën RISC-V. Funksionimi i PoCL është testuar në pllakën Starfive VisionFive 2 me ambientin e ngarkuar Ubuntu 23.10 me LLVM 17 dhe GCC 13.2.
  • Është realizuar zgjerimi cl_ext_float_atomics me mbështetje për FP32 dhe FP64.
  • Realizimi i zgjerimit cl_khr_command_buffer është përditësuar në versionin 0.9.4.
  • Është propozuar një backend eksperimental AlmaIF për FPGA.
  • Është hequr mbështetja e papërfunduar e përfaqësimit të ndërmjetëm të shaderave SPIR 1.x/2.0. Si gjuhë e rekomanduar ndërmjetëse për shaderat është shpallur SPIR-V.
  • Është shtuar mbështetja për Clang/LLVM 17.0. Është shpallur si e përjetshme mbështetja për Clang/LLVM 10-13.

Burimi: opennet.ru

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster