A PoCL 3.1 kiadása az OpenCL szabvány független megvalósításával

Bemutatták a PoCL 3.1 (Portable Computing Language OpenCL) projekt kiadását, amely az OpenCL szabvány olyan implementációját fejleszti, amely független a grafikus gyorsítók gyártóitól, és lehetővé teszi különböző háttérrendszerek használatát OpenCL kernelek futtatásához különböző típusú grafikákon és központilag. processzorok. A projekt kódját az MIT licence alatt terjesztik. Támogatja a munkát az X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU és különféle speciális ASIP (Application-Specific Instruction-set Processor) és TTA (Transport Triggered Architecture) processzorokon VLIW architektúrával.

Az OpenCL kernel-fordító megvalósítása LLVM-re épül, a Clang pedig az OpenCL C kezelőfelülete. A megfelelő hordozhatóság és teljesítmény biztosítása érdekében az OpenCL kernel-fordító olyan kombinációs függvényeket tud generálni, amelyek különböző hardvererőforrásokat használhatnak a kódvégrehajtás párhuzamosításához, például VLIW, szuperskalár, SIMD, SIMT, többmagos és többszálú. Támogatják az ICD-illesztőprogramokat (Installable Client Driver). Vannak háttérprogramok, amelyek támogatják a CPU-n, ASIP-en (TCE/TTA), HSA architektúrán alapuló GPU-n és NVIDIA GPU-n (libcudán keresztül) történő működést.

Az új verzióban:

  • Hozzáadott támogatás a Clang/LLVM 15.0-hoz.
  • Jelentősen továbbfejlesztett SPIR-V shader köztes megjelenítési támogatás a CPU és CUDA illesztőprogramokhoz.
  • Az online fordítást nem támogató speciális hardverek (CL_DEVICE_TYPE_ACCELERATOR) és egyedi eszközök (CL_DEVICE_TYPE_CUSTOM) illesztőprogramja jelentősen át lett tervezve. Az accel és ttasim illesztőprogramokat egyesítették az új AlmaIF illesztőprogramban.
  • Folytatódik a munka a Vulkan grafikus API illesztőprogramján.
  • Javasoljuk a cl_khr_command_buffer kiterjesztés alapvető megvalósítását, amely lehetővé teszi OpenCL-parancsok sorozatának megírását egyetlen hívásban való végrehajtáshoz.

Forrás: opennet.ru

Hozzászólás