PoCL 3.0 izlaišana ar OpenCL 3.0 standarta neatkarīgu ieviešanu

Prezentēts projekta PoCL 3.0 (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, izmantojot dažādas aizmugursistēmas, lai izpildītu OpenCL kodolus uz dažāda veida grafikas un centrālajiem procesoriem. Projekta kods tiek izplatīts saskaņā ar MIT licenci. Darbs tiek atbalstīts 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 procesoriem (Transport Triggered Architecture) 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 ieviests minimālais funkciju kopums, kas nepieciešams OpenCL 3.0 specifikācijas atbalstam. OpenCL 3.0 atbalsts pašlaik ir pieejams tikai uz CPU balstītām aizmugursistēmām ar LLVM 14 (citas aizmugursistēmas un vecākas LLVM versijas nodrošina OpenCL 1.2 atbalstu).
  • Pievienots Clang/LLVM 14 atbalsts.
  • Uzlabota izsekošana un vizualizācija.
  • Pievienots atbalsts specializētu funkciju grupu ģenerēšanai un to iekļaušanai izpildāmajos failos ar OpenCL kodoliem.

Avots: opennet.ru

Pievieno komentāru