OpenCL 3.1

Am 5. Mai präsentierte das Khronos-Konsortium die Spezifikation OpenCL 3.1 — ein weiteres Update des offenen Standards für plattformübergreifende Berechnungen auf CPU, GPU, DSP, NPU und anderen Beschleunigern. Die Veröffentlichung ist an die IWOCL 2026-Konferenz gebunden und entwickelt das Modell OpenCL 3.x weiter, in dem bestimmte Funktionen zunächst als Erweiterungen getestet und dann in den obligatorischen Kern des Standards übertragen werden.

Die wichtigste Änderung in OpenCL 3.1 ist die verpflichtende Unterstützung für das Laden von Rechenkernen im Format SPIR-V in allen kompatiblen Implementierungen. SPIR-V wird als portables Zwischenformat verwendet, das unter anderem über LLVM/Clang und den SPIR-V LLVM Translator generiert werden kann. Dies soll die Nutzung von OpenCL als Backend für SYCL, chipStar und spezialisierte Compiler vereinfachen sowie ermöglichen, Kerne nicht im Quellcode, sondern in vorab kompilierten Zwischenformen zu verbreiten.

In den Kern von OpenCL 3.1 wurden außerdem Funktionen übernommen, die für AI- und HPC-Lasten wichtig sind: Subgruppen sowie Shuffle-/Rotate-Operationen und ein erweitertes Satz an Typen, skalare Produkte ganzer Zahlen mit Sättigungs- und Akkumulationsvarianten, neue Bitoperationen, eine Abfrage der empfohlenen Größe der lokalen Arbeitsgruppe und eine standardisierte UUID-Geräteabfrage, die mit dem Verhalten von Vulkan übereinstimmt.

Zu den weiteren Änderungen zählen neue Sprachfunktionen ohne die Notwendigkeit, Erweiterungen zu aktivieren, ein verbesserter printf in OpenCL C mit Unterstützung für die Modifikatoren z und t, eine Klarstellung der Semantik von CL_DEVICE_HOST_UNIFIED_MEMORY, die Möglichkeit, eine Nullgröße für lokale Speicher-Argumente zu übergeben, und eine Vereinfachung der Synchronisation bei der Überprüfung von Ereignissen im Status CL_COMPLETE.

Die Arbeiten an den Implementierungen von OpenCL 3.1 laufen bereits bei Arm, Imagination, Intel und Qualcomm. Unter den offenen Implementierungen erwähnt Khronos besonders Rusticl im Rahmen von Mesa, PoCL und CLVK. Auch die Entwicklung der Kompatibilitätsschichten, die OpenCL über Vulkan und DirectX 12 ausführen, geht weiter, was die Verfügbarkeit von OpenCL auf Systemen ohne native Treiber erweitern sollte.

Die nächsten Entwicklungsrichtungen, die Khronos nennt, sind Befehlspuffer für den niedrigen Overhead beim Wiederholen von Befehlen, Verbesserungen des Unified Memory, Matrixoperationen im gemeinsamen Modus, neue AI-Typen wie niedrigpräzise Formate und Verbesserungen für externen Speicher sowie die Kompatibilität mit Vulkan, DirectX 12 und Medien-Pipelines.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4