PoCL 5.0 laidiens ar neatkarīgu OpenCL standarta ieviešanu

Publicēts PoCL 5.0 projekta (Portable Computing Language OpenCL) izlaidums, kas izstrādā OpenCL standarta implementāciju, kas ir neatkarīga no grafikas paātrinātāju ražotājiem un ļauj izmantot dažādas aizmugursistēmas OpenCL kodolu izpildei uz dažāda veida grafikas un centrālajiem procesoriem. . Projekta kods tiek izplatīts saskaņā ar MIT licenci. Atbalsta darbu uz platformām X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU un dažādiem specializētiem ASIP (Application-Specific Instruction-set Processor) un TTA (Transport Triggered Architecture) procesoriem ar VLIW arhitektūru.

OpenCL pamata kompilatora ieviešana ir balstīta uz LLVM, un Clang tiek izmantots kā OpenCL C priekšgals. Lai nodrošinātu pareizu pārnesamību un veiktspēju, OpenCL kodola kompilators var ģenerēt kombinētas funkcijas, kas var izmantot dažādus aparatūras resursus, lai paralēli koda izpildei, piemēram, VLIW, superscalar, SIMD, SIMT, daudzkodolu un daudzpavedienu. Ir pieejams ICD draiveru atbalsts (instalējamais klienta draiveris). Ir aizmugursistēmas, kas atbalsta darbu, izmantojot CPU, ASIP (TCE/TTA), GPU, pamatojoties uz HSA arhitektūru, un NVIDIA GPU (izmantojot libcuda).

Jaunajā versijā:

  • Ir ieviesta jauna “Remote” aizmugursistēma, kas paredzēta izplatītas skaitļošanas organizēšanai, pārsūtot OpenCL komandu apstrādi uz citiem tīkla resursdatoriem, kuros darbojas fona pocld process.
  • CUDA draiveris ievieš OpenCL 3.0 papildu līdzekļus un paplašinājumus, piemēram, atomoperācijas, tvēruma mainīgos, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier un sub_group_ballot.
  • Uzlabots CPU atbalsts, pamatojoties uz RISC-V arhitektūru. PoCL darbība tika pārbaudīta uz Starfive VisionFive 2 plates, kas ielādēta Ubuntu 23.10 vidē ar LLVM 17 un GCC 13.2.
  • Paplašinājums cl_ext_float_atomics ir ieviests ar atbalstu FP32 un FP64.
  • Paplašinājuma cl_khr_command_buffer ieviešana ir atjaunināta uz versiju 0.9.4.
  • Ir ierosināta eksperimentāla AlmaIF aizmugursistēma FPGA.
  • Noņemts nepilnīgais atbalsts SPIR 1.x/2.0 ēnotāju starpposma attēlojumam. SPIR-V ir deklarēta kā ieteicamā starpposma ēnotāju valoda.
  • Pievienots Clang/LLVM 17.0 atbalsts. Clang/LLVM 10-13 atbalsts ir novecojis.

Avots: opennet.ru

Pievieno komentāru