Bemutatjuk a PoCL 3.0 projekt új kiadását (Portable Computing Language OpenCL), amely az OpenCL szabvány gyártó-független megvalósítását fejleszti, lehetővé téve különböző háttérfolyamatok használatát OpenCL magok futtatásához különböző grafikus és központi processzorokon. A projekt kódja MIT licenc alatt terjeszthető. Támogatja az X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU és különböző specializált ASIP (Application-Specific Instruction-set Processor) és TTA (Transport Triggered Architecture) architektúrával rendelkező processzorok működését VLIW architektúrán.
Az OpenCL magok fordítójának megvalósítása LLVM alapú, az OpenCL C esetében a frontend Clang. A megfelelő hordozhatóság és teljesítmény biztosítása érdekében az OpenCL magok fordítója kombinált funkciókat generálhat, amelyek különböző hardveres erőforrásokat használhatnak a kód párhuzamos futtatására, mint például VLIW, szuperskaláris architektúra, SIMD, SIMT, többmagos és több szálú feldolgozás. ICD-illesztőprogramok (Installable Client Driver) támogatása is rendelkezésre áll. Magában foglalja a CPU, ASIP (TCE/TTA) és az HSA architektúrára épülő NVIDIA GPU működtetésére szolgáló háttérfolyamatokat.
Az új verzióban:
- Megvalósították a minimális funkciókészletet, amely a 3.0. verziójú OpenCL specifikáció támogatásához szükséges. Az OpenCL 3.0 támogatása jelenleg csak CPU alapú háttérfolyamaton érhető el LLVM 14-es verzióval (más háttérfolyamatok és régebbi LLVM verziók esetén az OpenCL 1.2 támogatása áll rendelkezésre).
- Hozzáadva a Clang/LLVM 14 támogatása.
- Javították a nyomkövetést és a vizualizálást.
- Hozzáadva a speciális funkciócsoportok generálásának és azok OpenCL magokkal rendelkező futtatható fájlokba való beillesztésének támogatása.
Forrás: opennet.ru
