Projektveröffentlichung (Portable Computing Language OpenCL), die die Implementierung des OpenCL-Standards vorantreibt, unabhängig von Herstellern von Grafikbeschleunigern, und die es ermöglicht, verschiedene Backends zur Ausführung von OpenCL-Kernen auf verschiedenen Arten von Grafik- und Zentralprozessoren zu nutzen. Der Code des Projekts ist unter der MIT-Lizenz lizenziert. Es wird die Nutzung auf Plattformen X86_64, MIPS32, ARM v7, AMD HSA APU und verschiedenen spezialisierten TTA-Prozessoren unterstützt () mit der Architektur .
Die Implementierung des OpenCL-Kernels-Compilers basiert auf LLVM, und als Frontend für OpenCL C wird Clang verwendet. Um die richtige Portabilität und Leistung sicherzustellen, kann der OpenCL-Kernel-Compiler kombinierte Funktionen generieren, die verschiedene Hardware-Ressourcen zur Parallelisierung der Codeausführung nutzen können, wie VLIW, Superskalare, SIMD, SIMT, Multikern- und Multithreading. ICD-Treiber werden unterstützt.
(Installable Client Driver). Es gibt Backends für die Arbeit über CPU, ASIP (TCE/TTA), GPU basierend auf der Architektur und GPU NVIDIA (CUDA).
Im :
- Unterstützung hinzugefügt für . Die Unterstützung von LLVM-Versionen vor 6.0 wurde eingestellt.
- Die Implementierung der intermediären Repräsentationen von Code auf CPU-Basis wurde verbessert und (verwendet in der Vulkan-API), die sowohl zur Darstellung von Shadern für Grafik als auch für parallele Berechnungen verwendet werden können;
- Ein Treiber pocl-accel wurde hinzugefügt, mit einem Beispiel für eine Infrastruktur zur Unterstützung von Hardwarebeschleunigern für OpenCL 1.2, die eine speicherreflektierende (mmap) Steuerungsschnittstelle implementieren;
- Die Möglichkeit, pocl-Installationen zu erstellen, die nicht an Verzeichnisse gebunden sind (relocatable), wurde hinzugefügt.
Quelle: opennet.ru
