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

Verfügbar Projektfreigabe PoCL 1.4 (Portable Computing Language OpenCL), das eine von Grafikbeschleunigerherstellern unabhängige Implementierung des OpenCL-Standards entwickelt und die Verwendung verschiedener Backends zur Ausführung von OpenCL-Kerneln auf verschiedenen Grafiktypen und Zentralprozessoren ermöglicht. Projektnummer vertrieben von unter MIT-Lizenz. Unterstützt die Arbeit auf X86_64-, MIPS32-, ARM v7-, AMD HSA APU-Plattformen und verschiedenen spezialisierten TTA-Prozessoren (Transportgesteuerte Architektur) mit Architektur VLIW.

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, um den Betrieb über eine CPU-, ASIP- (TCE/TTA) und GPU-basierte Architektur sicherzustellen HSA und NVIDIA-GPU (CUDA).

В neue Version:

  • Unterstützung hinzugefügt LLVM/Clang 9.0. Die Unterstützung für LLVM-Versionen älter als 6.0 wurde eingestellt.
  • Verbesserte CPU-basierte Implementierung von Zwischencodedarstellungen SPIR и SPIR-V (wird in der Vulkan-API verwendet), das sowohl zur Darstellung von Shader für Grafiken als auch für paralleles Rechnen verwendet werden kann;
  • pocl-accel-Treiber mit einer Beispielinfrastruktur zur Unterstützung von OpenCL 1.2-Hardwarebeschleunigern hinzugefügt, die eine speicherzugeordnete (mmap) Steuerschnittstelle implementieren;
  • Es wurde die Möglichkeit hinzugefügt, POCL-Installationen zu erstellen, die nicht an Verzeichnisse gebunden (verschiebbar) sind.

Source: opennet.ru

Kommentar hinzufügen