Projekt-Releases (Portable Computing Language OpenCL), entwickelt zur Implementierung des OpenCL-Standards unabhängig von Herstellern von Grafikbeschleunigern und ermöglicht die Nutzung verschiedener Backends zur Ausführung von OpenCL-Kernen auf unterschiedlichen Grafik- und Prozessoren. Der Projektcode steht unter der MIT-Lizenz. Es wird die Unterstützung auf Plattformen wie X86_64, MIPS32, ARM v7, AMD HSA APU und verschiedenen spezialisierten TTA-Prozessoren () mit einer Architektur .
. Die Implementierung des OpenCL-Kerncompilers basiert auf LLVM, während Clang als Frontend für OpenCL C verwendet wird. Um die notwendige Portabilität und Leistung zu gewährleisten, kann der OpenCL-Kerncompiler kombinierte Funktionen generieren, die verschiedene Hardware-Ressourcen zur Parallelisierung der Codeausführung nutzen, wie VLIW, superskalare Architektur, SIMD, SIMT, Multicore und Multithreading. Die Unterstützung von ICD-Treibern
(Installable Client Driver) ist vorhanden. Es gibt Backends zur Unterstützung über CPU, ASIP (TCE/TTA) und GPUs basierend auf der Architektur sowie NVIDIA GPUs (CUDA).
In :
- Unterstützung für . Die Unterstützung älterer Versionen von LLVM unter 6.0 wurde eingestellt.
- Die Implementierung der CPU-basierten Intermediate Representation wurde verbessert. und (verwendet in der Vulkan-API), die sowohl zur Darstellung von Shadern für Grafik als auch für parallele Berechnungen eingesetzt werden kann;
- Ein neuer Treiber pocl-accel wurde hinzugefügt, zusammen mit einem Infrastrukturbeispiel zur Unterstützung von OpenCL 1.2 Hardwarebeschleunigern, die ein speichergesteuertes (mmap) Steuerinterface implementieren;
- Die Möglichkeit zur Erstellung von pocl-Installationen ohne Bindung an Verzeichnisse (relocatable) wurde hinzugefügt.
Quelle: opennet.ru
