Schwerpunkte

Vorläufige Spezifikation

OpenCL 3.0 veröffentlicht

27. April 2020, 09:36 Uhr   |  Manne Kreuzer

OpenCL 3.0 veröffentlicht
© AMD

Eine OpenCL-„Plattform“ besteht aus einem Host, einer CPU, die das Gesamtsystem steuert, sowie einem oder mehreren Geräten (Devices).

Mit der vorläufigen Spezifikationen für OpenCL 3.0 will die Khronos-Gruppe die OpenCL-Roadmap neu ausrichten, um eine breitere Hardware-Basis zu haben und Applikationen besser auf Zielmärkte auszurichten.

OpenCL 3.0 integriert auch Untergruppenfunktionen in die Kernspezifikation, wird mit einer neuen OpenCL-C-3.0-Sprachspezifikation ausgeliefert, verwendet ein neues einheitliches Spezifikationsformat und führt Erweiterungen für asynchrone Datenkopien ein. Die vorläufige OpenCL-3.0-Spezifikation dient der Entwicklergemeinschaft, Feedback zu geben, bevor die Spezifikationen und Konformitätstests abgeschlossen sind.

Um der wachsenden Vielfalt von OpenCL-Geräten gerecht zu werden, bietet OpenCL 3.0 alle Funktionen über Version 1.2 hinaus optional an. Somit laufen alle OpenCL-1.2-Anwendungen unverändert auf jedem OpenCL-3.0-Gerät weiter. Alle Funktionen von OpenCL 2.X sind in der neuen vereinheitlichten Spezifikation kohärent definiert, und aktuelle OpenCL-2.X-Implementierungen, die auf OpenCL 3.0 aufgerüstet werden, können weiterhin mit ihrer bestehenden Funktionalität, mit voller Abwärtskompatibilität ausgeliefert werden. Alle OpenCL-2.X-API-Funktionen sind nutzbar, und OpenCL C 3.0 fügt Makros zum Abfragen optionaler Sprachfunktionen hinzu.

Für die C++-Kernel-Entwicklung ist die OpenCL-Arbeitsgruppe von der ursprünglichen OpenCL-C++-Kernel-Sprache, die in OpenCL 2.2 definiert ist, zur ‚C++ for OpenCL‘-Community, einem von Clang unterstützten Open-Source-Projekt, übergegangen. C++ für OpenCL bietet Kompatibilität mit OpenCL C, ermöglicht Entwicklern die Verwendung der meisten C++17-Funktionen in OpenCL-Kerneln und ist mit jeder OpenCL 2.X- oder OpenCL 3.0-Implementierung kompatibel, die die Aufnahme von SPIR-V unterstützt.

Die Erweiterungen ‚Extended Asynchronous Copy‘ und ‚Asynchronous Work Group Copy Fence‘, die zusammen mit OpenCL 3.0 veröffentlicht wurden, ermöglichen effiziente, geordnete DMA-Transaktionen - ideal für auf Scratch Pad Memory basierende Geräte, die eine feinkörnige Kontrolle über die Pufferzuweisung erfordern. Diese Erweiterungen sind die ersten Vorboten in OpenCL zur Verbesserung der Unterstützung von Embedded-Prozessoren.

Auf Facebook teilen Auf Twitter teilen Auf Linkedin teilen Via Mail teilen

Verwandte Artikel

elektroniknet