Open CL: Portable Computing Language 1.6 unterstützt LLVM/Clang 11

Das neue Release der quelloffenen Implementierung des OpenCL-Standards verspricht höhere Leistung für CUDA und erweiterte Paketierungsoptionen.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen

(Bild: Connect world/Shutterstock.com)

Lesezeit: 2 Min.

Die Open-Source-Implementierung von OpenCL PoCL (Portable Computing Language) liegt ab sofort in Version 1.6 zum Download bereit. Das neue Release der auf CPUs und Beschleuniger mit LLVM-Backend ausgelegten OpenCL-Implementierung arbeitet mit LLVM/Clang 11. Während daneben allein LLVM 10 offiziell unterstützt wird, sollten Entwicklerinnen und Entwickler aber auch noch mit den Varianten bis herunter zu LLVM 6.0 arbeiten können.

Das ursprünglich unter dem Namen Portable OpenCL gestartete Projekt deckt den kompletten Funktionsumfang von OpenCL 1.2 ab, sowie einzelne Teile von OpenCL 2.0. Zu den weiteren Neuerungen in PoCL 1.6 zählen höhere Performance beim Einsatz mit Nvidias CUDA, verbesserter Support beim OpenCL-Debugging sowie erweiterte Optionen für das Paketieren von PoCL Binarys. Laut Einschätzung des PoCL-Entwicklerteams zeigen die eingeflossenen Optimierungen insbesondere in Benchmarks, die lokalen Speicher einbeziehen (z. B. FFT und GEMM), Leistungssteigerungen im CUDA-Backend. In vielen Fällen liege PoCL nun gleichauf mit Nvidias proprietärem OpenCL-Treiber.

Beim Packen und Verteilen von PoCL Binarys erhalten Entwicklerinnen und Entwickler nun größere Flexibilität. Während bisher beim Bau der Binärdateien der Build-Rechner und die Host-Maschine die gleiche Treiberunterstützung aufweisen mussten, überprüft PoCL 1.6 nun zur Laufzeit, ob die zu den kompilierten Treibern passende Geräte vorhanden sind. Daher lassen sich jetzt mit dem Paketmanager Conda auch PoCL Binary Packages mit CUDA-Support für Linux-x86_64 und Linux-ppc64le verteilen.

Einen vollständigen Überblick aller Neuerungen in PoCL 1.6 und mehr Details zu den Verbesserungen liefern die Release Notes.

(map)