PoCL 3.0 väljalase koos OpenCL 3.0 standardi sõltumatu juurutamisega

Esitleti projekti PoCL 3.0 (Portable Computing Language OpenCL) väljalaset, mis arendab OpenCL-i standardi teostust, mis on graafikakiirendite tootjatest sõltumatu ja võimaldab kasutada erinevaid taustaprogramme OpenCL-i tuumade käivitamiseks erinevat tüüpi graafikatel ja keskseadmetel. protsessorid. Projekti koodi levitatakse MIT litsentsi all. Toetab tööd platvormidel X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU ja erinevatel spetsiaalsetel VLIW arhitektuuriga ASIP (Application-Specific Instruction-set Processor) ja TTA (Transport Triggered Architecture) protsessoritel.

OpenCL-i kerneli kompilaatori juurutamine on üles ehitatud LLVM-i baasil ja Clangi kasutatakse OpenCL C esiotsana. Nõuetekohase teisaldatavuse ja jõudluse tagamiseks saab OpenCL-i kerneli kompilaator genereerida kombineeritud funktsioone, mis võivad koodi täitmise paralleelseerimiseks kasutada erinevaid riistvararessursse, nagu VLIW, superskalaar, SIMD, SIMT, mitmetuumaline ja mitme keermega töötlemine. Toetatakse ICD-draivereid (Installable Client Driver). CPU, ASIP (TCE/TTA), HSA arhitektuuril põhineva GPU ja NVIDIA GPU (libcuda kaudu) kaudu toimimist toetavad taustaprogrammid.

Uues versioonis:

  • Rakendatud on OpenCL 3.0 spetsifikatsiooni toetamiseks vajalik minimaalne funktsioonide komplekt. OpenCL 3.0 tugi on praegu saadaval ainult LLVM 14-ga CPU-põhistes taustaprogrammides (teised taustaprogrammid ja LLVM-i vanemad versioonid pakuvad OpenCL 1.2 tuge).
  • Lisatud Clang/LLVM 14 tugi.
  • Täiustatud jälgimine ja visualiseerimine.
  • Lisatud tugi funktsioonide spetsiaalsete rühmade genereerimiseks ja nende lisamiseks OpenCL-i tuumadega täitmisfailidesse.

Allikas: opennet.ru

Lisa kommentaar