PoCL 1.4, eine unabhängige Implementierung des OpenCL-Standards

Verfügbar Projektveröffentlichung PoCL 1.4 (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 wird verbreitet 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 (Transport Triggered Architecture) mit der Architektur VLIW.

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 HSA und GPU NVIDIA (CUDA).

Im neuen Version:

  • Unterstützung hinzugefügt für LLVM/Clang 9.0. 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 SPIR und SPIR-V (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

60GB SSD 8Gb DDR4