Die Khronos Group hat am 11. Mai 2015 die finale Spezifikation von SYCL 1.2 veröffentlicht. Der offene C++-Standard baut auf OpenCL 1.2 auf und soll heterogene Prozessoren mit einem einheitlichen Programmiermodell ansprechen.
SYCL erlaubt, Host-Code und Kernel-Code in derselben Quelldatei zu führen. Templates und Lambda-Funktionen sollen die Entwicklung höherer Anwendungsschichten vereinfachen, während bestehende OpenCL-Programme, C/C++-Bibliotheken und OpenMP weiter eingebunden werden können. Die Spezifikation basiert auf C++11 und unterstützt zusätzliche Funktionen aus C++14.
Interop mit Grafik-APIs
Für Entwickler von Grafiksoftware ist die Interoperabilität ein zentraler Punkt. SYCL kann laut Khronos gemeinsam mit OpenGL, Vulkan und DirectX eingesetzt werden, ohne dass Daten für diese Übergänge zwingend kopiert werden müssen. Die technische Basis bilden OpenCL 1.2 und das portable Binärformat SPIR 1.2.
Die Veröffentlichung enthielt außerdem ein Konformitätstestprogramm und ein Adopters Program. Khronos verwies auf Implementierungen für verschiedene C++-Compiler und OpenCL-Umgebungen. Damit richtet sich SYCL sowohl an Bibliotheksentwickler als auch an Teams, die Rechenlasten auf unterschiedliche GPU- und Beschleunigerplattformen verteilen.
