Lëshimi i PoCL 3.0 me zbatimin e pavarur të standardit OpenCL 3.0

Është prezantuar një version i projektit PoCL 3.0 (Portable Computing Language OpenCL), i cili zhvillon një zbatim të standardit OpenCL që është i pavarur nga prodhuesit e përshpejtuesve grafikë dhe lejon përdorimin e backend-eve të ndryshme për ekzekutimin e kerneleve OpenCL në lloje të ndryshme grafike dhe qendrore. përpunuesit. Kodi i projektit shpërndahet nën licencën MIT. Mbështet punën në platformat X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU dhe procesorë të ndryshëm të specializuar ASIP (Application-Specific Instruction-set Processor) dhe TTA (Transport Triggered Architecture) me arkitekturë VLIW.

Zbatimi i përpiluesit të kernelit OpenCL është ndërtuar në bazë të LLVM, dhe Clang përdoret si pjesa e përparme për OpenCL C. Për të siguruar transportueshmëri dhe performancë të duhur, përpiluesi i kernelit OpenCL mund të gjenerojë funksione kombinimi që mund të përdorin burime të ndryshme harduerike për të paralelizuar ekzekutimin e kodit, si VLIW, superscalar, SIMD, SIMT, multi-core dhe multi-threading. Ekziston mbështetje për drejtuesit e ICD (Shofer Klienti i Instalueshëm). Ka mbështetëse për të mbështetur funksionimin përmes CPU, ASIP (TCE/TTA), GPU bazuar në arkitekturën HSA dhe GPU NVIDIA (përmes libcuda).

Në versionin e ri:

  • Grupi minimal i veçorive të kërkuara për të mbështetur specifikimin OpenCL 3.0 është zbatuar. Mbështetja e OpenCL 3.0 është aktualisht e disponueshme vetëm në sistemet mbështetëse të bazuara në CPU me LLVM 14 (mbështetje të tjera dhe versione më të vjetra të LLVM ofrojnë mbështetje për OpenCL 1.2).
  • Mbështetje e shtuar për Clang/LLVM 14.
  • Gjurmimi dhe vizualizimi i përmirësuar.
  • Mbështetje e shtuar për gjenerimin e grupeve të specializuara të funksioneve dhe përfshirjen e tyre në skedarë të ekzekutueshëm me kernelet OpenCL.

Burimi: opennet.ru

Shto një koment