PoCL 3.0:n julkaisu OpenCL 3.0 -standardin itsenäisellä toteutuksella

PoCL 3.0 (Portable Computing Language OpenCL) -projektista on esitelty julkaisu, joka kehittää grafiikkakiihdytinvalmistajista riippumattoman OpenCL-standardin toteutusta, joka mahdollistaa erilaisten taustaohjelmien käytön OpenCL-ytimien suorittamiseen erityyppisissä grafiikoissa ja keskusjärjestelmissä. prosessorit. Projektikoodia jaetaan MIT-lisenssillä. Tukee työskentelyä alustoilla X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU ja erilaisia ​​erikoistuneita ASIP (Application-Specific Instruction-set Processor) ja TTA (Transport Triggered Architecture) prosessoreja VLIW-arkkitehtuurilla.

OpenCL-ytimen kääntäjän toteutus on rakennettu LLVM:n pohjalta ja Clangia käytetään OpenCL C:n käyttöliittymänä. Oikean siirrettävyyden ja suorituskyvyn varmistamiseksi OpenCL-ytimen kääntäjä voi luoda yhdistelmätoimintoja, jotka voivat käyttää erilaisia ​​laitteistoresursseja koodin suorittamisen rinnakkain, kuten VLIW, superskalaari, SIMD, SIMT, moniytiminen ja monisäie. ICD-ajureille (Installable Client Driver) on tuki. On olemassa taustaohjelmia, jotka tukevat toimintaa CPU:n, ASIP:n (TCE/TTA), HSA-arkkitehtuuriin perustuvan GPU:n ja NVIDIA GPU:n (libcudan kautta).

Uudessa versiossa:

  • OpenCL 3.0 -spesifikaatiota tukevien ominaisuuksien vähimmäissarja on otettu käyttöön. OpenCL 3.0 -tuki on tällä hetkellä saatavilla vain CPU-pohjaisissa taustajärjestelmissä, joissa on LLVM 14 (muut taustajärjestelmät ja LLVM:n vanhemmat versiot tukevat OpenCL 1.2:ta).
  • Lisätty tuki Clang/LLVM 14:lle.
  • Parannettu jäljitys ja visualisointi.
  • Lisätty tuki erityisten funktioryhmien luomiseen ja niiden sisällyttämiseen suoritettaviin tiedostoihin OpenCL-ytimillä.

Lähde: opennet.ru

Lisää kommentti