Veröffentlichung von PoCL 1.3, einer unabhängigen Implementierung des OpenCL-Standards

Es liegt eine Veröffentlichung des PoCL 1.3-Projekts (Portable Computing Language OpenCL) vor, das eine von Grafikbeschleunigerherstellern unabhängige Implementierung des OpenCL-Standards entwickelt und die Nutzung verschiedener Backends zur Ausführung von OpenCL-Kerneln auf unterschiedlichen Grafiktypen und Zentralprozessoren ermöglicht . Der Projektcode wird unter der MIT-Lizenz vertrieben. Unterstützt die Arbeit auf X86_64-, MIPS32-, ARM v7-, AMD HSA APU-Plattformen und verschiedenen spezialisierten TTA-Prozessoren (Transport Triggered Architecture) mit VLIW-Architektur.

Die Implementierung des OpenCL-Kernel-Compilers basiert auf LLVM und Clang wird als Frontend für OpenCL C verwendet. Um eine ordnungsgemäße Portabilität und Leistung sicherzustellen, kann der OpenCL-Kernel-Compiler Kombinationsfunktionen generieren, die verschiedene Hardwareressourcen nutzen können, um die Codeausführung zu parallelisieren, wie z. B. VLIW, Superskalar, SIMD, SIMT, Multi-Core und Multi-Threading. Unterstützung für ICD-Treiber verfügbar
(Installierbarer Client-Treiber). Es gibt Backends, die den Betrieb über CPU, ASIP (TCE/TTA), GPU auf Basis der HSA-Architektur und NVIDIA GPU (CUDA) unterstützen.

Die neue Version bietet Unterstützung für LLVM/Clang 8.0. Bietet Unterstützung für ICD (Installable Client Driver) auf der macOS-Plattform. Die Möglichkeit, Pocl ohne Backend-Treiber für die CPU zu erstellen, wurde implementiert. Für HSA (Heterogene Systemarchitektur) wird zunächst Unterstützung für die Kompilierung von ISAs auf der HSA-Laufzeit bereitgestellt. Die Codebasis wurde bereinigt, unter anderem wurde die Vecmathlib-Bibliothek entfernt und die Unterstützung für ältere Versionen von LLVM (weniger als 6.0) wurde eingestellt.

Source: opennet.ru

Kommentar hinzufügen