PoCL 3.0 väljaanne, mis sõltumatult rakendab OpenCL 3.0 standardit

Esitatud on PoCL 3.0 (Portable Computing Language OpenCL) projekti väljaanne, mis arendab OpenCL-i standardi rakendust, mis on sõltumatu graafika kiirendite tootjatest ja võimaldab kasutada erinevaid tagaplaneeringuid OpenCL-i tuumade käitamiseks erinevates tüüpi graafika- ja keskprotsessoritel. Projekti kood on avaldatud MIT litsentsi alusel. Toetatakse töötamist platvormidel X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU ja erinevatel spetsialiseeritud ASIP (rakendusele spetsiifiline instruktsioonide kogumiprotessor) ja TTA-protsessoritel (Transport Triggered Architecture), mille arhitektuur on VLIW.

OpenCL tuumade kompilaatori rakendus põhineb LLVM-il ja OpenCL C jaoks on front-endiks Clang. Sobiva ülekandmise ja jõudluse tagamiseks võib OpenCL tuumade kompilaator genereerida kombineeritud funktsioone, mis saavad kasutada erinevaid riistvaralisi ressursse koodi paralleelse täitmise jaoks, nagu VLIW, super-skalaarne, SIMD, SIMT, mitme tuuma ja mitme niidi tugi. Toetatakse ICD-draivereid (Installable Client Driver). On olemas tagaplaneeringud töö tagamiseks CPU, ASIP (TCE/TTA), HSA arhitektuuril põhineva GPU ja NVIDIA GPU (libcuda kaudu).

Uues versioonis:

  • Teostatud on minimaalne funktsionaalsus, mis on vajalik OpenCL 3.0 spetsiifikatsiooni toetamiseks. OpenCL 3.0 tugi on hetkel saadaval ainult CPU-põhises tagaplaanis, millel on LLVM 14 (teistes tagaplaanides ja vanemate LLVM versioonide puhul pakutakse OpenCL 1.2 tuge).
  • Lisatud Clang/LLVM 14 tugi.
  • Parandatud jälgimist ja visualiseerimist.
  • Lisatud spetsialiseeritud funktsioonigruppide genereerimise ja nende kaasamise tugi OpenCL tuumadega täideviimisse.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster